Rather than playing around doing micro-optimizations that might give you a few more transactions an hour, you need to start scaling.
Firstly, get an SSD. If you need more space, RAID them. If you really care about performance, SSD's are huge, especially looking at your IO.
Secondly, one server can only go so far. You need to start setting up slaves that will take off some of the load, they also serve as a nifty fail over.
MySQL wasn't really made for on-demand schema changes, so the alter table is hard to answer; I would actually take a server out of service to prevent locking, run the alter table, then sync it back up with what it missed and follow suite with the other servers. You should really just pick one schema and stick with it though.
Best of luck!