So um...get them to at least lv.45, mainly through battling in Victory Road, but also if you have any re-matches on the Pokégear: This link shows you who to call when in order to get re-matches
Definitely go for pokémon using these types: Fire, Ice, Rock. But don't just stick to them, obviously. Just 18 out of the 25 pokémon you're about to face are weak to at least one of these types, so having them is definitely useful.
I would definitely advise doing as many re-matches as possible alongside the wild pokémon in order to stock up on Hyper Potions, Revives and Full Heals. (I wouldn't advise Full Restores tbh. Maybe about 20 for use in-battle, but stick to the Hyper Potion + Full Heal combo out of battle, its cheaper).
Hope this helps!
EDIT: If you have a pokémon that resists Dragon, Electric and Ice, level that up to be one of your highest - Lance's Dragonite(s) can be *****es if you're unprepared. Not to play down the rest of his team though, which is bad-ass.