Pre-BW experience was pretty straightforward: slap an EXP share on your Pokemon and go fight the Elite 4 as many times as possible before you get exhausted of it.
BW and BW2 I like to find a nice big patch of grass in a post-E4 area, and run on the edge of it until I see shaking grass, looking for Audinos obviously. I lead with the Pokemon I want trained, with it holding an EXP share if possible, then swap it out for a stronger Pokemon and destroy it. Audino is so harmless that you can easily switch any decently powerful Pokemon in on it, and gives ridiculous amounts of XP. If you're training a physically offensive Pokemon you can just let your 'mon fight them at 10 levels below or more. That's how harmless they are.