MySQL Tuning: Is Defragmenting Tables safe?
Yes, running OPTIMIZE TABLES on a regular basis is beneficial. I don't think there is significant risk with it. I'd run it on a copy of the DB first.

If you have the memory on your database server increasing the cache and buffer sizes of MySQL is a good thing, IMO.

In the past, I've found the Percona blog quite a useful resource. Also some folks (NYSS) have been using the Percona distribution for improved performance.