The opening attack / shock effect in particular is one I haven't found anything to do about. Do you just stick with oceans of Inf Divs and throw them out there to get killed, but use up AP to slow 'em down?
The one approach I've found that is working for me was to pick a fight with Romania during the winter, after I had a wall of Inf corp setup. Picking the fight with Romania initiated the fight with Germany and the Russian army collapse (shock). Doing it in winter slowed down any incursion, and doing it early enough (while the bulk of the German army is fighting France) limits the magnitude of the disaster.
Another thing I've learned about the shock effect is it only applies to Russian units on Russian soil. I noticed that when I saw that my troops that were over the border in Romania could fight modestly - that's where using armored corps primarily made a big difference as they had a little bit of attack ability (plus kept them off Russian soil where they died instantly to inf divisions driving by

After shock is gone, my focus has been on the Inf Corps as my primary unit. I strive for a solid line (preferably a straight line, as any corners provide edges the Germans can nibble at). Behind the solid line is a second line with a replacement corps every 2 to 4 hexes, but never adjacent to each other. Special care must be made to providing all units a retreat path (unless they're sitting on fortifications).
My primary activity each turn is to repair damaged units, secondary activity is to use the secondary line troops to fill in the primary line. And then periodically, the primary line starts to disintegrated and instead takes a step back and reforms (bend, don't break).
After I have tanks research to 2 and L1 land doctrine, then I put my armored corp to work as an additional component in the backups. I use the tanks to help push incursions out of the line for those occasional (rare it seems!) times when I can push an incursion back and save the line in place (instead of falling back).
I've learned to place infantry in fortifications and defensive terrain well ahead of the German arrival so that they can get dug in. The combination of factors can stymy much higher attack units.
So in my world, I end up upgrading everything from divisions to corps. There's just no room for something as weak as a division.
Related question - there's an early event about the countryside rallying to stop the Germans. You have a choice of cannon fodder, trained troops, or to send the populace into the factories. I've tried cannon fodder and trained troops, and I lean towards trained troops as the best option if you're having some modest success anyway, as it gives you access to higher level infantry (be sure to repair and turn them into corp before sending them into battle of course).
By playing Russia, I've learned that the Germans must maintain (I estimate) a minimum of a 6 to 1 kill ratio or they will eventually get swarmed under. In reality it's higher than that, but something under 10 to 1 needed. I get that number based on the maintenance costs - it looks like the Germans pay 30% of strength to maintain units, while the Russians pay 5%. I also conclude from this info that the Germans have to focus on high quality units (expensive to build a 20 strength armored corp compared to 2x 10 str inf corp, but maintenance is apparently the same and that armored corps emphasizes offense and killing the enemy which the Germans must do; as the Russians, you make the opposite choice as you can eventually have 12 of those inf corp for the same maintenance cost as the 1 armored corps and the need from the maintenance is different.
So is there a role for divisions that I'm missing? Other ideas or thoughts?