I personally think Baton Pass teams are, at the moment, overpowered, for the reasons that have been highlighted in this thread. They're nearly unstoppable after a few turns, are pretty much immune to prediction, have very niche counters that sometimes don't even work (I'm still laughing at Haze Murkrow being seriously suggested), and, most importantly to me, they are entirely matchup-based. Either your team loses to BP or it doesn't, simple as that. The reverse isn't true, though. If you have Ditto, Flyingspam (or massive offensive pressure in general), Haze, or Perish Song, the BP player can still find a way around it, but if you don't, you might as well forfeit right there and then, because you have pretty much no chance. This gives an unfair advantage to the BP player. This is also untrue or any other playstyle. You don't defeat Stall or Hyper Offense just by packing one move or one Pokemon. Some Pokemon such as Kyurem-B or Mega-Mawile may be good against stall, but they are neither foolproof nor required. This applies to individual teams too (which BP is : it's pretty much just one team with a variation of 2 Pokemon at the most). A Rain team that is weak to Ferrothorn still has a chance to get through it if it plays very well, even if it's hard. Furthermore, being weak to a move or a Pokemon (which BP is against Haze) and being completely stopped by an entire team (which Stall is against BP) are two different things. Not being able to touch a single member of the opposing team with a single member of your team (which is mainly the case due to Baton Pass's switch priority) gives you absolutely no window of opportunity to win. Basically, BP is pretty much a no-risk strategy that's inherently advantageous.
That being said, I don't think Baton Pass is inherently broken. We shouldn't try to get rid of BP, we should just try to make it more manageable and balanced. Most importantly, we should try to stop BP teams from being this matchup-based. We could limit BP users to 2 per team, but that just seems like a cheap way to kill the BP playstyle in its entirety. I'm don't like the idea of banning BP+Speed Boost at all, since it only helps Offense which already don't do that badly against BP, and Stall gets stomped by it almost as hard as before. Besides, there's nothing wrong with passing Speed to something like Azumarill, Mega-Medicham, Mawile, or Mega-Heracross. The best solution for me seems to be banning BP+Magic Bounce. In fact, I'd be tempted to argue that Espeon is broken for its Baton Passing capabilities in the same way that, say, Mega-Lucario was broken for his sweeping capabilities. It doesn't matter that Espeon isn't good at anything else or on any other team, if a Pokemon is broken at only one thing on only one type of team with only one set, it is still broken. I personally would not be opposed to a straight-up Espeon ban. However, doing this might still make BP matchup-based : if the opponent has any method of Phazing or Status-inducing, he can win, and not all teams carry that. This does solve a lot of problems, though, since most teams that doesn't carry status or phazing are very offensive, and thus, aren't really bothered by BP in the first place. I think the main problem here is that, on the contrary, BP would be pretty unviable, and we might, once again, be killing the playstyle if we do that.
So, what I'd like to know is this : can we make Baton Pass competetive (aka, neither overpowered nor entirely matchup-based) without making it unviable? I believe we should try to do that if we can. However, something tells me that BP's switch priority is what makes that impossible. But who knows, maybe we'll find a solution.