I think an optional delay on an individual macro might be helpful for some games. What I mean is, when you hold down a macro key, instead of calling the command associated with the macro as fast as possible, only call the command at the interval specified by the delay. (For example, once every 1.5 seconds)
Many games include things like training verbs that players hold down, but have delays on them built on in the game. For example, if a game has a verb with a second and a half cool down time, and someone holds down the key, they're actually calling that verb 20-30 times in that interval, even if all the verb does is return right away, it seems like a waste of resources if you have several players doing it. A client-side delay would probably not bog down the game as much.