So much of Soviet play is in response to what the Germans (or the Italians and the Germans) do before you – it’s nigh impossible to form an all-encompassing foolproof plan that works in every instance.
In general, you never expose your troops unless you can get equal or near-equal value on your kills. And not just on the pieces themselves – you have to look “x” number of turns in the future, knowing what you can move to and build in Moscow by the time the Axis is ready to attack there, and knowing what he can move there or build and move there by then. If it increases your odds in that final battle for Moscow to lose 20 infantry now to take out 13 of his that he cannot replace, then you do it. If it doesn’t improve your odds, you fall back.
That said, if Germany, for instance, buys naval on G1, you buy 70/30 artillery/infantry R1 and push your land units into a threatening position. If he does a Sealion buy G2, you follow with mechs and armor buy R2. If he does a land unit buy G2, instead, you repeat the 70/30 artillery/infantry buy on R2.
There’s nothing wrong with splitting your stack IF you: don’t stand next to him where he can hit you on his turn; pressure his advance by not allowing him to capture objectives without taking an extra turn (Leningrad and Ukraine aren’t in a straight line from Berlin to Moscow); make sure that your units can get to Moscow on the turn before he hits it.
Don’t lose pieces by blocking blitzes. If he wants to blitz into your stack, let him (assuming it’s not the Moscow stack and he can win at Moscow with that move)! You’ll make it painful for him if he tries. And the 5 infantry you’ll save over the course of the game are 5 more infantry you’ll have at the gates of Moscow.
Counterattack with planes and infantry as fodder if he pauses to collect his forces behind just a piece or two.
And as you’re counting pieces, keep in mind all the armor he can build in Leningrad and Ukraine 2 turns before he attacks Moscow and the bombers he can build at those two locations 1 turn before he attacks Moscow. The longer you can delay him, The greater the chance that he can’t complete those last two builds as your allies are knocking down his Atlantic Wall.