Greninja wrecks offense and balance with it's speed and Protean plus it hits suprisingly hard with LO not to mention it is verstaile but Stall usually has usualy atleast 2 Couners to it (Porygon, Chansey, SpDef Rotom, Ferrothorn, MVenusaur, generally bulky waters are all viable in Stall)
and even if they are too passive like everyone says, they can wear him down with LO recoil and Hazard or Status since Stall is all about passive damage.
Chansey is 2hko'd with Low Kick with Rocks up as is Ferrothorn. Gunk Shot 2hko's Rotom and if if it uses Def evs>sp.def evs it gets 2hko's by Dark Pulse.
Yes, he has coverage for all of them but not at the same time so something is always going to wall him.(And I have rarely seen a Greninja with Grass Knot)
At the same time, that is a deadly guessing game which you CANNOT afford to do with Greninja because its so versatile due to protean, often costing you a pokemon just to find out what its running.
There is another issue with Gren, and that is, he is frail. Since he is usually used in offensive teams you have to sack something to bring him in safely, so they can play the Greninja game just as well against you.
Not too hard, U-Turn and Volt switch support make it easy to bring in and its not as if he doesnt have a few resistances and immunities. Once its in, then offense and possibly stall is going to be the one sacking something as aforementioned.
Not to mention there are a lot of Checks against Gren which are very viable in OU(MSceptile, MLopunny, Weavile, Scarfers like Landorus-T, Klefki ect..). Yes, Gren can switch out but that means you retained momentum and can do anything you want, like destroy something else or set up something like a substitute...and you know how dangerous the likes of MSceptile is behind a sub against offense.
All in all, while Gren is an incredible force in OU, he is, in my opinion, managable.