When Germany builds like this (which is really optimal play from the Axis in early rounds) I think you need to deal with the problem directly.
It will take the Germans longer to reach Moscow with enough attack power to actually take the Russian capital, so you need to use that time as the Allies to develop an appropriately large counter weight. This should come in the form of a very large American expeditionary force. We’re talking a dozen or more transports, (in alternating shifts) ferrying a dozen infantry a round in range of Europe. On top of this you’re going to need a huge airforce, to defend that stack when it finally converges, and to make it effective on the attack.
The window of opportunity is very narrow, but there will come a point when Germany has moved their large infantry wall past the point of no return (meaning they are too far to double back towards the fatherland, and have committed to defeating Moscow.) You can usually recognize this when they have positioned all their aircraft in Karelia and stop sending infantry into Baltic states, but instead start leaving them in Berlin to build up for the aftermath. As the Allies you need to take France and Northwestern in the same round to prevent a landing space for the German air in Karelia. You may have to transition between stacking in France or Northwestern for a few rounds, trading one (to deny the landing spot for the Germans) while trying to preserve the other as a landing spot for your own defensive Air, and reinforcing with UK units. This is because you will frequently have a 1 round gap, after you drop all your American units, to give the transports time to return to North America to retrieve the next wave. It usually results in one of two outcomes, either Germany will quit the eastern campaign, leaving only enough units to defend and help Japan’s advance while retreating some forces to deal with the Western Threat. Or they will go all in and try to crush Moscow before you have an angle on Berlin. The real challenge in this scenario is deciding when to take your fighters off of Moscow so they can participate in the invasion of Europe. Usually you can’t do both things, simultaneously defending Moscow and threaten Berlin. So you have to choose where they will be most effective. Losing Moscow doesn’t matter, if you can take Berlin within 1 round.
What to do with your bombers is a tough call. A solid round or two of bombing can be enough to eek out an edge. On the other hand, you will need every unit you can spare (even bombers for defense) when you make your landing. And of course, they will be extremely valuable when you get an opening on the German capital, since you will almost certainly have to Airblitz your way to victory.
Playing against that kind of infantry spam is probably one of the most difficult things to deal with as the Allies, because of all the logistical headaches the Americans must endure to set up a sufficiently large crossing.