Trade real estate for time - this is the name of the game in Russia.
1. Assuming a decent Axis player, Russia cannot hold Axis advance all by herself. So the correct answer to this question is: find ways to use the western allies to ease pressure on the eastern front. If you don't find ways to threaten Axis in other places, they will most likely wipe Russia out.
2. In my experience, it is ok to garrison forward cities (corps will do fine) for the sole purpose of messing the Axis' timetable up. Do not fight in areas that Axis enjoy a decent supply, or you will be crushed. Let them capture some cities, they can't press forward forever, they need the supply to catch up.
3. Pick one or two spots where you will make a stand. Stalingrad, Leningrad, sometimes Moscow are good choices since you got some natural barriers that you can use - marshes , rivers. Fortify those spots in advance. Do not despair if they eventually fall to Axis - you should have by then a decent counterattack force to wipe out their spearheads which will most likely be in bad supply.
So maybe my mistake is trying to hold all three of the big three instead of just 1 or 2? Of the big three which is easiest/best to keep hold of?