How to deny bases against Protoss?
I'm 2700 MMR, Platinum 3. My worst matchup right now is protoss. Regardless of what I get hit with (mass storms, skytoss, warpgate units) I dont have enough units to contest them even when Im ahead on upgrades. Ive recently started building more macro hatches to help generate larvae (I think my inject mechanics are solid) which does help, but I think my problem is that I'm not able to deny Protoss players expansions and they overwhelm me with units eventually.
Trying to address this, I've usually got spotter lings at expansion bases, but they'll send a handful of units to kill it and by the time I've got more units there to deny the base, they've already got a good sim city and a bunch of cannons/batteries set up. And at that point it's too entrenched.
What's the best way to deny bases? Is there a good amount of lings to keep set aside specifically for this purpose? If so, whats that number? What else should I be doing?
Replay: https://drop.sc/replay/27482757