Late reply but anyways.
1. Rivers are prime defensive locations, along with forests and swamps. German bridgeheads across rivers are an exceptionally good target for counterattacks.
2. Basically anything that isn't clear plains/fields will hamper the effectiveness of attacking troops (you can view the exact percentages by mouseovering the terrain box on the top of the screen in game). Forests, woods and swamps give a 40% combat bonus to soviet units(20% if there is a road present).
Try not to get too attached to good positions though. If a solid defensive position comes under threat of encirclement, then it's no longer a good position.
3. Basically always a line of at least 2 hexes deep. When directly facing a PZG, 3 or even 4 hexes deep, depending on the terrain. This will make decisive breakthroughs and encirclements much harder to achieve, as well as providing good positioning for counterattacks should a breakthrough happen.
4. Against German AI you can use the ragged armies as any sort of cannon fodder you please, as the AI doesn't dabble with PP, and thus won't get anything extra from finishing off armies.
In PBEM, however, you can pull those ragged armies off the line to prevent the German player from gaining PP from the destruction of army HQ's. (Should all units under an army HQ get destroyed, it gets disbanded, awarding the German player half the PP's.)
5. As important as it is to save any forces. A significant portion of the starting army will likely be destroyed in the early turn, but save whatever you reasonably can. There's no need to sacrifice men into encirclements.
6. Starting tank divisions are very good at augmenting any counterattacks. Just try to move them around as little as possible before sending them into a battle. Soviet tank crew training pretty much guarantees at least 10% losses in breakdowns every time you move a tank division. One can easily lose 50% of a division's tank strength before it even sees combat, if they're moved unnecessarily.