Do you understand what I'm using frame data for? I'm not saying "this is frame 10 and that is frame 11 so i'm gonna win, end of discussion", I'm saying that if I'm shielding a lot, and you try a grab on me, I have 16 frames (roughly 1/4 of a second) to roll or spotdodge. If your opponents can't react that fast well you have my congratulations, but on a human level, it's completely doable, requires no buffering, and you have a window for error.Look, in super theory bros. it's really easy to say "Just shield vs ZSS when she's in mid-range and spot dodge the grab" and people have tried to do it before and failed. Her weakness to shields isn't THAT profound and she does have affacks that are safe on shield, and side-b isn't punishable on shield (except on powershield) by most characters at max range. As m2k has said before, and it's something I largely agree with, it doesn't matter what's possible in terms of frame data if on a human level it will never happen. ZSS' big exploitable weakness is very real, but it isn't something that is ever going to cause her to lose every match against a good player. She might eat a utilt or something occasionally though.
The fact that no one does it is probably because of the same reason MKs don't plank/scrooge on a consistent basis... It's BORING. If it was me (and if you were ZSS), I'd be looking to punish you everytime you hit my shield, or whenever I thought you'd be doing a grab, to have enough time to charge a smash. Those mistakes make it so that ZSS keeps winning encounters, you have the speed to punish me for tinking I could punish you and missing.
Now, if I just played patiently and only attacked you when you whiffed a grab or committed to an attack... I don't think it would be easy at all for a ZSS to beat me then and there.
(sorry for taking forever, i'm doing other stuff)