Si tienes un VPS con SSD es mejor mysql aparte, pero todo lo que propones es valido, balancear la carga de la web o del mysql, aunque lo más sencillo es tener el mysql aparte.
Si consume muchos recursos sería ver que es lo que consume, una consulta que toma mucho tiempo, indexes etc y ver como optimizarlo, muchas webs consumen mucho y es por no tener bien los indexes los optimizas y el consumo de cpu baja hasta en 80% aunque todo depende de la web.
Lo de optimizar mysql puedes usar mysql tunner para guiarte o mysql primer ->
http://mirror.skamasle.com/mysql/