I would recommend using the VS seeker at the top of cycling road, when you're in view of the six bikers/cue balls. Usually at least four of them will want to challenge you again, and their teams are worth 1500 exp. or more each, on average. And the highest-level pokemon you can fight before the elite four are the pokemon on Two and Three Islands as well as the pokemon in the grass before Victory Road...go for Victory Road, though, you'll have a higher chance of encountering something worth battling...even though there are Persians, Fearows, and Weepinbells/Glooms on the islands, odds are you'll encuonter a Spearow or a Meowth, not worth fighting.