You can go around the route around Ever Grande City where there are trainers waiting for you.
If you haven't done so, go to Pacifidlog town. To the west are the ocean currents, there are many trainers there. You can also surf through the route from Rustboro to Slateport.
You can also use wild Pokémon to level up your Pokémon. Look around for hidden items using Itemfinder and you may be lucky enough to find Rare Candies.
Make sure you have reached Ever Grande City. Go into the Pokemon Center and heal your Pokemon. Get into the Victory Road's cave entrance and battle every Pokemon that shows up. Then get out and heal them in the Pokemon Center. Keep doing this, make sure some of your weaker Pokemon are holding Exp. Share so that they can get experience too.
When your Pokemon are at least level 44-48, continue on to resolve the path to Victory Road. There will be trainers there to battle you and earn more experience. At the end of Victory Road you will need to be prepared as Wally is there with his Pokemon. He has an Altaria level 56 (I believe) which is perhaps the hardest to defeat.
If by that time your weakest Pokemon is around level 48, you will be fine with the Elite 4. Of course higher is better.
If you have lots of time and patience, try beating all the trainers you have missed, including those in Victory Road. You can do a match call to some trainers you've registered in your Pokénav, an icon will appear to the right when you're able to battle them again. If you have Waterfall, try going through all the waterfalls you've missed in the way. One is in Meteor Falls, and another is in the route to Fortree.