There is a general learning curve where Germany initially struggles against Russia. Players frequently find themselves open to counter attack and sometimes see that Berlin gets captured by the Red Army. I assure you that in a non-BM game with normal dice outcomes there is absolutely nothing sane that you can do to prevent Germany from marching:
G3: Eastern Poland
G4: Belarus
R4: Russian troops must retreat to Moscow or else Italian canopers take Smolensk and German fast movers take the capitol
G5: Bryansk* sometimes a few German fighters are required to support the Italian/German stack for this critical move.
After that point the realities of the game take over. Against an aggressive Russian player who built too many artillery and didn’t obtain fighter support from other Allied players, Moscow will fall. Otherwise, I besiege the capitol and head down to the oil fields with a sub-force. I have played very aggressive Russian players who are willing to throw away large stacks of infantry to prevent Italian canopening, but that only hastens the eventual fall of Moscow. They are throwing away a bunch of units that defend as 2s in return for a few German units that attack as 1s.
You can go through the battlecalcs for each round. It isn’t too hard to figure out how big each German/Russian stack will be with the assumption that two or three German planes will be lost in the opening couple of rounds. Do the exercise and see that your ambitious plans do not hold water. I am sure that you merely have found novice opponents who misspend German money and build too much fleet, throw away the planes, or do other stupid things.