Easiest: Buy more (SCSI or SAS) disk. SATA, even though it's getting better, still cannot even hold a candle to SCSI (or SAS) based arrays for random writes. The difference still astounds me whenever I put one into production, it's such a difference that it almost defies logic.
Not-so-easy: Re-code application to support MySQL cluster type stuff (e.g. in-RAM tables). Must be able to survive some possible data loss
Hard: Re-code application to be "really smart" (tm) about database writes, and load balance across multiple database servers. This requires more than a little logic in the code though, both from a writes and reads standpoint.
Hardest: move to Oracle or somesuch, and scale horizontally on really expensive hardware
In short.. it really all lies with the application, which unfortunately is usually the hardest part to fix.
Hope it helps.
-Phil