If you are using rain you are making a common battle condition for every single battle you enter. The Pokemon then are for sure not suboptimal - quite the opposite. With one little bit of support (A Pokemon with the move Rain Dance, preferably wielding a Damp Rock) you have made yourself a battle condition that will happen in every single battle you enter. Sure, from the defender, non-rain user's point of view, rain is a niche role that you hope pops up as little as possible because of the massive amount of thinking it provokes. But if you are the one using rain, your common battle conditions are vastly different. Your battles all have rain in them, and generally this prevents entry hazards from going up also, as well as provoking a totally different mindset for the defensive player. The defensive player, more times than not, are using a suboptimal Pokemon in using Poliwrath or Gardevoir or Quagsire, but the rain user is always using these "suboptimal" Pokemon to their arguably most optimal standpoint, every time they enter a battle. The person trying to prepare for rain is at a loss every single time they play something not rain, but the person playing rain controls which of their Pokemon is at a loss or not.