Having three Electrics and three Fire type Pokémon, no matter how strong, is going to mean trouble when you run into a Ground Pokémon. You want a wide variety of types so that you don't have any of the same types of Pokémon in your arsenal. This is the biggest key to a balanced team, and this will get you through just about every single battle. Think about the roles your Pokémon play. While you want mostly "Sweepers" (strong, attacking Pokémon), you should get at least one "Wall," like Snorlax or Blissey, (lots of HP and defense) to help you heal everyone in a time of need. Probably one of the most important types, electric Pokémon are weak against only Ground, but are resisted by Grass and Dragon type Pokémon. They can learn a large variety of moves. You can catch a Shinx early in the game, and it's evolved form, Luxray, can be an indispensable member of your team.  Try Electivire or Raichu if you don't want a Luxray. If you can catch the Legendary Bird Zapdos then you will be well armed for the challenges ahead.  Use moves like Thunderbolt, Thunder, and Thunder Fang. Water Pokémon can use Ice moves and only have two weaknesses, Electric and Grass. However, since Ice moves are effective against both Grass and Dragon types and work normally against Electric Pokémon, Water Pokémon are incredibly useful, and HM Surf is actually powerful. If you didn't start with Piplup, you can try:  Floatzel, Gyarados, or Vaporeon. Utilize moves like Surf, Waterfall, Hydro Pump. These rare but powerful Pokémon are invaluable to your arsenal, especially a Pokémon that can learn both types of moves. You will be good against other Psychics, Bugs, Poison, and other Dark Pokémon. More importantly, these Pokémon usually have a high Sp. Attack and a lot of special moves.  Metagross, Alakazam, Espeon, Gallade and Hypno are all Psychic or Dark types. Get moves like Psychic, Night Slash, Bite and Psycho Cut. Many of these Pokémon share types and can learn moves from each set, making them viable against a variety of Pokémon. They also cross frequently with other types, making the even more versatile. Fighting types are usually quite frail, while Rock and Ground types are usually quite bulky.  Mamoswine, Bastiodon, Golem, Infernape and Lucario are examples of Fighting types. Use Earthquake, Rockslide, Rock Smash, and Close Combat when possible. Grass Pokémon, though weak to a lot of types, have a wide and powerful moveset that makes them great in certain situations. Roserade is generally the most common, as it can learn Psychic and Poison moves and has a high Special Attack.  Tropius, Torterra, Carnivine and Venusaur are all grass-type Pokémon.  Use moves like Giga Drain, Energy Ball, and Leaf Blade. Since there are unfortunately not many Fire-types in Platinum, snag a Ponyta early in the game that you can level up to the quick, powerful Rapidash. If you chose Chimchar to start, he will be able to get you out of just about every mess needing Fire Pokémon, including almost every gym. You will also be super effective against Grass, Ice, Bug, Rock and Steel types.  Legendary Bird Moltres is a great choice as well if you can get your hands on one. You can get an Eevee in Hearthome City in the house above the Pokémon Center. This Pokémon can evolve into a Fire, Water, Electric, Psychic, Dark, Grass, or Ice type if you have the requirements completed. Learn moves like Flare Blitz, Fire Blast, and Sunny Day.  Fire Pokémon are not strictly necessary -- a good Fighting Pokémon can often compensate for a missing Fire type. There is an online generator that lets you plug your team in to see it's stats. It will tell you where you are weakest and offer suggestions to fill the hole. Some good Pokémon to consider are:  Flying Pokémon, like the powerful and popular Staraptor (must know Fly and Close Combat).  Any Legendary Pokémon. These are the Pokémon that only appear once in each game, like Mewtwo or Latios. They are incredibly powerful and will be a valuable asset on any team.  Try Giratina. It is a Ghost and Dragon type of Pokemon, so you get the advantages of Dark type moves and Dragon type ones that have a wide variety of effectiveness and low weaknesses. Find Heatran, a strong Fire and Steel type Pokémon that works well if you need some heat. While having the right types of Pokémon is essential to survive against any type of Pokémon you face, you won't be able to succeed offensively without the right move set. Just like you need to balance your Pokémon types, you need to balance the types of moves you have to fight well against anyone.  You want to balance offensive and defensive moves in every Pokémon. STAB moves give you a 50% attack bonus if the type of move (ie. a Fire Move, like Ember) matches the Pokémon's type (ie. Infernape, a Fire Pokémon, using Ember). When possible, teach Pokémon moves that match their type.
Aim for balance in your team, not just the strongest Pokémon. Grab an Electric type Pokémon. Make sure you snag a water type: Have a Psychic/Dark type Pokémon. Get a Ground, Rock or Fighting-type Pokémon. Consider a Grass-type if you didn't start with one. Find a Fire-type Pokémon. Fill out any holes with good overall Pokémon that compensate for your weaknesses. Know that having solid move sets, which are a Pokémon's four moves, are as important as choosing balanced Pokémon.