That's now how it works though. You need localised superiority in numbers, not absolute superiority.
Our II Corps has 3+1 armoured brigades, and can be supported by another armoured brigade from elsewhere, like an IABG or an armoured brigade from a RAPIDS. This will give us a localised armour superiority over a Pakistani infantry division or two. And once we have taken over an objective, the area will then be guarded by our own troops, and our Strike Corps can then move on to the next objective. And if the Pakistanis need to retake that objective, they will now have to bring in three times the number against the units protecting that area. To support that, you do not need 3x the troops across the entire army.
So when you say the Pakistanis have 300 SPGs, so we must have 900 SPGs, you are thinking in terms of WW2 era tactics, not modern warfare.
The main objective in modern warfare is to get the enemy to bunch up in one place and then bomb them from the air. Like the case with Longewala, where all it took was 1 company to route an entire brigade. Different story that they bunched up SPHon their own.
SPGs are distributed based on the number of armoured brigades you have. Since armoured brigades are required to speahead any attack and require high speed mobility in all terrains, you need SPGs connected to the armoured brigades to meet such requirements. The rest of the army doesn't need SPGs, towed artillery is more than enough. I would recommend looking up the American BCT TOE. Out of the 32 brigades they operate, only the armoured brigades have SPGs, no different from ours.
Your only argument is we need a bigger army.
100 SPH's for 5th largest Armored force on this planet, really?
For the US examples, US army has Close to 1400 M109's SPH's. Out of which close to 500 are in storage. Their stored units are 5 times our planned SPH's and 10 times our Current fleet. Pakistan total SPH's are close to 4.5 times our planned fleet. Chew on that for a while.