I purposely avoid as many wild pokemon as possible except for ones I want to catch to keep my levels low. That's the only way the gym leaders are at all difficult for me. After game end I train using anywhere that the trainers respawn like the cruise ship or stadiums in gen V.