I did two games now where I prevented the Japanese from going to war with the Allies, and both those games ended with Allied victory pretty much accurate to the real dates. So, whatever is going on with the AI that is making both Soviet lose and Allies to not be able to breach into the mainland could have something to do with how the AI tries to deal with Japan.
Something I also did notice was that while the Allies had fought all the way to the top-ish of Italy, they suddenly abandoned the front completely, letting them take half of it back before returning. So instead of just pushing on for victory, something triggered them all to just leave and go somewhere else.
So with that and how the exlusion of Japan changed the game, I would guess that the war goes like it does simply because they can't prioritize fronts properly, and also overpopulate certain other fronts - completely halting any progress due to attrition.
So, don't leave fronts in major countries, and don't overpopulate fronts to cause severe attrition. If someone is there fighting already, find somewhere better to fight...