Instructions
Prepare your roster with some electric- or grass-based Pokemon, as these will counter Wallace's water Pokémon. No matter what, you want at least one or two grass-type Pokémon to use against Whiscash, as electric can not damage him.
Level all of the Pokémon to at least level 42 before beginning the fight. You can do this by finding random encounters in the area before entering his gym.
Begin the match by choosing a Pokemon that will do grass or electric damage. The first Pokemon that Wallace uses is Luvdisc, it is very weak against these two types of damage.
Switch to a grass Pokémon for the second fight against Whiscash. Whiscash is weak against water, grass and ice attacks.
Fight the remainder of his roster with electric-type Pokémon, as Whiscash is the only non-water in the roster. After defeating Wallace, you are awarded the eighth gym badge.