With Italy, try making attacks of opportunity in the Med/North Africa, but at the same time make a steady march of 3-4 infantry per round to the east a priority. Add a naval unit every turn, if you can.
Never stop the flow, unless they’re needed for defense. You’ll see the possibilities.
I believe the issue is - people instinctively make the same mistake made by the Axis in the real war - adventuring in North Africa/Middle East while the real war lies with Russia. Every unit matters against the Red Army!
I like to wait until the last minute, then pull my forces out of Africa, not throw good money after bad. Build a constantly replenishing naval shield in SZ95, backed by a few German fighters, and with a few Italian fighter purchases while your economy is flush from NOs (and a credible Kriegsmarine in SZ112), you can hold off the Allies just enough to set up a chain of cheap infantry/artillery. They can handle the southern flank of Russia for a time while Germany assaults the north and keeps Russia’s attention.
Because Italy takes and Germany reinforces on the front, Italy can maintain an economy in the low 20s even with all of their NOs taken away. That buys 4 - 5 infantry and a destroyer or sub every round. If I get a little extra cash, I get an extra naval unit or fighter.
This works - especially when your opponent isn’t prepared for it. I play against an experienced player who knows exactly what I’m up to, and it’s still hard for him to stop. The sheer volume of German/Italian forces is just overwhelming.