battle the elite four
Elite four is the best because they get better and better, and your Pokemon are equally matched up.
train up in a place that is weak to the Pokemon you are training up and you should run into it.
if you have a lv 50 you can train at the Pokemon league my togekiss was lv 50 and now hes a lv 70 in just a couple of minuts
A good place train is the route next to Undella town. You can put exp. share on a weaker Pokemon let a stronger Pokemon do all the work and you will level up quickly because the Pokemon there are usually about level 50-60. Another way is by using the daycare to level up fast by just using your bike or running to level up.
Anywhere really, just don't go train somewhere where there are lots of type disadvantages towards Flying types. Use the EXP. Share to have your Pokemon level up without battling.
Anywhere with grass pokemon. Especially forests, like the one near the start, Viridian i think. Try the grass gym to if your up to it.
Stark mountain battle about 7 Pokemon then it will be level 73.
the best place to train at is in enterna forest because when you with Cheryl run in the wild and battle Pokemon i got my ponyta up 6 levels in half an hour from lvl 20 to lvl 26 and you don't have to heal. Other places are route 202 route 217 and between velistone and the resort place just use the vs seeker and keep battling them like the collectors and breeders and others Hoped i helped :)
Near Rustboro City. From Gym Go up turn left and train there. Near Rustboro City. From Gym Go up turn left and train there.
You can train them up at victory road or on the way to the survile area
If you aren't to the Elite Four yet I would suggest either SnowPoint city or somewhere around there. Either that of in the water depending on your pokemon, for best results use a rod.
Train it.