If you started training them from a low level (1-5) they should be fairly happy by level 25-30. However if they keep fainting then their happiness level goes down.
You can make them pretty happy by just keeping them in your party, even if you only use them occasionally. Make sure you give them the Soothe Bell to hold (you can find it in the National Park).
And just be patient :)