Roar/whirlwind is way far from a niche baton pass counter though. Both because it's pretty universally great, and because by itself it's not actually a baton pass counter .
Being serious, here's the take of an ex-baton-pass user. I run a full stall team now in OU, which is canonically baton pass's easiest match-up (we don't even get random crits as an out and often can't do more to calm mind Espeon than seismic toss it 4 times). My team has never ever had trouble with baton pass thanks to this wondrous bit of tech though:
Gyarados (M) @ Gyaradosite
Ability: Intimidate
EVs: 252 HP / 48 Def / 208 Spd
Jolly Nature
- Rest
- Sleep Talk
- Roar
- Waterfall
It's generally useful in the exact same capacity that it was back in Gen 4 OU when this set was common stall tech (and has gained utility too with its ability to counter Conkeldurr, many variants of Gliscor that didn't exist then, and a couple others, and also now commonly being guessed to be a dragon dance killer instead). Then as a nice side benefit it also makes BP teams cry. I also run a perish song Celebi that outspeeds Smeargle, though it was independently selected for heal bell support, taking spores, and ability to beat last Pokemon of the magic guard variety, not because of the baton pass match-up. It rarely ever comes into play against baton pass teams because it's too funny to watch them helplessly cry against Gyarados.
After that set above, the next best thing you can run against BP teams is prankster taunters (Thundurus/Tornadus being the best for their ability to also hit very hard, though Sableye, Murkrow, Whimsicott, Tornadus, Liepard, and Mega-Banette are all so rough for them it scarcely matters). The opponent can't even baton pass to Espeon to deal with the taunt; in a large majority of circumstances if you get it in against a non-Espeon then your opponent is just forced to restart the chain completely.
Third best thing is haze, though the opponent can taunt you out of being able to do it. After that CB Talonflame gets an honorable mention since it can always stop them unless they can get some defense boosts passed by Vaporeon or Zapdos prior to getting any speed boosts (since Talonflame is a dead stop to Scolipede/Ninjask being able to pass anything).
If you don't have any of the above things then you have to rely on smart play, hard hitters (Mega Mawile is good because it forces 50-50 guesses on all BP team defense boosters with SD just by hitting *that* hard), random taunters, perish song users, and Ditto, all of which aren't counters but have alright chances when used intelligently. A generally good strategy if you have access to it is to try and get some prior damage on Espeon, which is usually really easy since they're forced to bring it in to handle any whirlwind/taunt user that you've got. Then with some prior damage on it you can often take the stored power at the end with something that has a sash (BP teams rarely have hazards) and KO back with a special move, since if you played smart they probably acrued at most 2.5x special defense through calm minds. In particular blaze + sash + overheat mixed infernape sets are very good at this (some of them can even follow up with a mach punch after before they go out). But at this point you're actually letting baton pass teams play the game instead of just free-winning against them. Who wants that?