Should I use a storage engine other than MyISAM to optimise these tables or should I get better disks?
You have to use InnoDB. Here is why :

The major advantages of InnoDB over MyISAM


InnoDB caches data and index pages, whereas MyISAM only caches index pages.
InnoDB is designed for ACID-compliant transactions
InnoDB is designed for row-level locking, MyISAM uses table-level locking.
InnoDB is designed for Multiversion Concurrency Control, critical for transaction isolation
InnoDB can be tuned to engage multiple cores


MyISAM is great in a read-heavy environment. Although you can configre private caches on a per-table basis, MyISAM never caches data.

InnoDB is your best bet !!!

CAVEAT

Get enough RAM on the DB Server to cache everything in the InnoDB Buffer Pool (75% of Installed RAM).