When it comes to the battle frontier, one pokemon comes into my mind. Milotic. In gen 4, this one is simply the queen of the battle frontier and especially the battle tower simply because it is probably the best non legendary bulky water. This pokemon has helped me so much during the battle frontier in gen 4 with this moveset
Milotic @ Leftovers
Ability: Marvel Scale
EVs: 252 HP / 252 Def / 4 SpD
Bold Nature
- Toxic
- Recover
- Ice Beam
- Surf / Hydro Pump
Basically as your main pokemon in the team. Milotic is just so difficult to break. Ensure that you max out the pp of recover so you can spam it as much as you need. The plan is to toxic an enemy, then either spam recover or go for the kill with its attacking moves if the opponent chose not to attack or use recover if you think on the next turn, the opponent will attack and will deal more than half hp of damage
With Milotic, I also pair it with the most monstrous attacking pokemon in gen 4, Garchomp with this et
Garchomp @ Yache Berry
Ability: Sand Veil
EVs: 4 HP / 252 Atk / 252 Spe
Jolly Nature
- Dragon Claw
- Earthquake
- Swords Dance
- Fire Fang / Stone Edge / Protect / Substitute
This pokemon would be perfect to cover Milotic's electric weakness and in return, Milotic covers Garchomp's ice weakness. Dragon claw and earthquake for stab with swords dance to boost. For your final move, choose on what you would like to hit hard. Steel or flying types. You can also use protect to scout for any potential surprise will o wisp or ice beam. You can also use it with substitute. If you run into Skarmory or Bronzong, then just do a triple swords dance and kill them with dragon claw. They shouldn't survive more than three triple swords dance dragon claw
For your team, I highly suggest replacing Starmie with Milotic using the set I suggested as it is a compromise of a bulky water along with decent attacking capabilities. Also, in my experience, bulky waters are more useful than offensive waters because offensive waters usually have paper defenses and if they fail to kill in one hit, they end up being killed themselves
For Scizor, replace counter with either superpower or brick break, whichever one you want. Superpower hits really hard and the reduced attack can be offset with swords dance. Brick break is also good despite the lower damage because the ai uses light screen and reflect every now and then. I would also suggest you consider to give it a sitrus berry instead, just in case some random unexpected crap happens and it puts Scizor at a risky low hp
Gliscor is a worthy substitute for Garchomp (although Garchomp is still better). I suggest giving it yache berry instead so it can survive an ice type move. The ai in the battle tower really does do some of the dumbest strategies such as ice beam Blissey and if you're not careful, a surprise ice beam could end Gliscor quickly. I would suggest to change it EVs a bit to 8 HP / 252 Atk / 252 Spe to increase the chance that it will go first
If you do decide to use Garchomp, try using one of these two to support it
Tyranitar @ Chople Berry
Ability: Sand Stream
EVs: 248 HP / 80 Def / 180 SpD
Impish Nature
- Stealth Rock
- Thunder Wave
- Crunch
- Roar
Stealth rocks might not be that important in a 3v3 battle but focus sash can really screw you over especially if it is used by the likes of Gengar or Alakazam. I used this along with Milotic and Garchomp as my main team. Milotic as the main pokemon, Tyranitar as the support and Garchomp as the attacker. Since Tyranitar summons a sandstorm, the evasion Garchomp gains will offset the slightly reduced longevity of Milotic as a single missed attack could mean the difference in winning or losing. This is especially true when you get to about 40+ wins
You can also use this one if you think Tyranitar's weaknesses are too risky
Hippowdon @ Sitrus Berry
Ability: Sand Stream
EVs: 252 HP / 4 Def / 252 SpD
Careful Nature
- Stealth Rock
- Slack Off
- Roar
- Earthquake
Since this thing is so bulky, just keep spamming roar so that the opponent's pokemon will be revealed while racking up damage. If it goes well, you might get the opponent low enough to the point where Garchomp won't need to swords dance up. Sitrus berry for its item as to allow it a single extra turn of roaring so that you won't have to slack off
So basically my suggested team for the first few battles would be Scizor, Milotic and Garchomp. When I think that the battle is gonna be more difficult, I replace Scizor with Tyranitar or Hippowdon. In my experience, it is usually better to be on the defensive than all out offensive because the ai might beat me if I fail to kill its pokemon in one shot
These are my suggestions for the battle tower. I hope this helps