If you are already mid-game/late-game and the Pokémons you wanted to evolve is evolving by level-up, Go to Route 47 which is near the Cliff Edge Gate. That place has level 30~ Miltanks that gives 1000 Exp. Points each when they are defeated. Try to let your Pokémon to hold a Lucky Egg too if possible to boost the Exp. you got from battling. If you haven't reached that position yet, however, another way is to fight all trainers nearby if possible and try to always say yes when they ask for your Pokégear number.
By giving them your Pokégear number, they will call you at certain times for a battle invite, where they can be met again in the route you first met them. Each time they call you, their Pokémons' levels progresses and will be higher than before (Usually about the same level as your Pokémons).
[Note: If they don't evolve by level up and they evolve by using special requirements (Stones, Trade etc.) then the previously mentioned way is not necessary, unless you like hyperleveling before gyms/challenges.]
Hope I helped!
Source (Rt. 47, Johto)
Complete Table for Pokégear Calls