Not a bad team so far! Even for an in-game team, it's pretty well-constructed. I see a few slips though, so I'll recommend some changes, and then recommend a 6th party member.
Meganium is looking good, but Frenzy Plant isn't that great of an attack, trust me. Plus, you already have the wonderful Petal Dance in there. Replacing Petal Dance with Safeguard would be smart, as it protects against the Petal Dance confusion afterward!
Ho-Oh doesn't need both Fire Blast and Sacred Fire(Well, for the Pokemon League, it would be nice, but otherwise...). Some kind of coverage move would be good; Steel Wing the best among them, as it covers that nasty x4 Rock weakness. Thunder or Roost could also be nice choices.
Ampharos, as you said, needs Thunderpunch out of there. Hidden Power Power may be fun to toy with, and Power Gem would be a fair addition. As for an item, a Life Orb or maybe even an Expert Belt would likely work best.
Vaporeon needs Waterfall and Water Pulse out of there; no need for three Water-type moves. An Ice-type move is also needed badly. Ice Beam, Blizzard, or Aurora Beam will do. Aqua Ring would also be useful, thanks to that monstrous HP.
Dratini still seems a little premature. Still, for future reference, don't keep Surf or Dragon Pulse on him. Waterfall and Dragon Claw / Rush will work much better, as his Attack becomes much high than Defense. Two Dragon-type moves isn't needed, so coverage against weaknesses is great; Flamethrower being the Ice coverage option.
As for the last Pokemon, a Steel-type would be favorable, but a good old-fashioned Poison-type would, believe it or not, fit on this team nicely. If you have a buddy with Soulsilver, definitely get a Skarmory off of him. Catch a Gligar and trade him for it, as they're both version exclusives to their own game. For a Poison-type, use an Arbok. They're easily the most versatile Poison-type and their movepool is awesome. It seems like you're approaching the Elite 4 (I apologize if you beat the game already), and Arbok will really hinder Koga, who is known to always weaken you.