Just take the Pokemon you want to train and give it a Lucky Egg. Go to a place with high level Pokemon and tall grass, some pace like Route 10. Move around a lot in front of grass. Dont enter any battles. Once you see a shaking patch, approach it. If you did it on Route 10, it will be an Audino. Make sure that you have attacking moves and beat it. If the Pokemon with the Lucky Egg didnt go into battle, it wont get any EXP. If its holding the EXP Share, it will gain EXP. Any way, if you beat the Audino, you will get so much EXP. Keep doin' it over and over. Instead of doing this, I just train in the Battle Arenas.