Would it be possible to not only store macros on the game servers, but also execute them as well?
This would reduce the impact of lag for some players and also decrease the external bandwidth requirements for the game to operate. Instead of sending a string of packets to the server as the client processes each instruction, the client can just send a single instruction to the server, which looks up the stored macro by slot number, and executes it there. It would require some server hardware to manage this processing but this is something that could be offloaded fairly easily.