first off, you need pokemon that can learn all the Important HM's. [for example: you can ditch flash and defog and just keep cut, strength, rock smash, ect.]
second off, you need a team with multiple types. like omastar or kabutops, they have two types: water and rock. plus, garydos is water and flying, magneton is steel and electic, ect.
third off, start training! Get your pokemon as close to level 70 as possible [ps- that's the hardest and most boring part
] so you can at least STAND A CHANCE against battle tower, or against stronger people. [pps- WHATEVER YOU DO, DON'T HAVE A 'STRONGEST' POKEMON!!! because if that pokemon faints, you're DEAD MEAT