Shurikens are only punishable by flip kick if charged. This means that ZSS basically has to approach. She loses long range.
Mid range she wins if shes in the air through short hop, which honestly isn't hard to be. That said, after you did your zair or nair, getting back in the air is hard. And even then, ZSS nair doesnt really beat Ninja fair, and Zair is iffy because anything Ninja does on the ground from that range beats Zair. Ftilt is great for ZSS, true, but Utilt and Dtilt are both EASILY punishable, and guess what, dash attack crouches under all Ftilt angles but down (good luck finding a ZSS using down angled) if timed well. Normal crouch should too.
QCQ is really hard for her, because outside of jab, utilt, ftilt and upb oos she doesn't have options, really. Notice how all of those are attacks? Notice how none of those beat spotdodge/roll (and except for ftilt and jab mindgames, shield)? Her grab is literally slower than human reaction time.
So what does she do in QCQ? She shields and hopes you **** up (you shouldn't), downBs to reset to midrange if given the opportunity, or tries to get a read. Don't get me wrong, if she gets the read you're ****ed, but that's her character. Oh by the way, you're not ****ed, because you negate our main combo ender/killer, but whatever. If she even got in QCQ past Shurikens (requires read) she now needs a read to get a combo on you. TL;DR Ninja gets to play his standard game, ZSS needs to read to mess it up. Sounds like an advantage to me. BUT, let's be fair, dash attack is a godlike whiff punish and jab is godlike. Those are stray hits you have to deal with, and if read correctly, you get to negate the followup (which should be more damage, and almost never a kill).
Her QCQ is extremely weak to dodges/rolls because of lack of lasting hitboxes as well as lack of hitboxes that hit on two sides (utilt behind her best one and at that extremely punishable). Same goes for most of her aerials, they don't really have lasting hitboxes which makes it really hard to beat Ninja's. ZSS Bair will almost never beat yours, and her uair will almost never beat your dair (though our upb can trade and in some wacko situations beat iirc).
"That said, playing that style Ninja doesn't do much damage. So yeah, while the incentive to read is with ZSS, she also gets more reward." is a semi-valid line of thinking. In terms of damage racking, I would give the advantage to Ninja still, he has decent combos and his pressure is still really strong on ZSS (no grab and unreliable-at-max-range-or-even-on-hit upB OoS does not a strong shield make), so there's that.
The issue is with killing. Like I said, try hitting a Bair. Try hitting an upB. Try finising an uair string.
All in all: Greninja has long range pressure, mid-range pressure, and close range pressure. Long range with Shurikens, mid-range because ZSS can't rely on shield and uses long-startup moves, and close range because ZSS has issues with defensive options. This is all broken up by ZSS getting a read, in which case she gets decent damage. However, she will almost never kill Greninja. Her best bet is an anti-air uTilt around 170% (earlier with rage).