I think may be the problem is having Vichy in the Axis, or at least Syria. How does that work, is it always Syria to Vichy and tunisia and Morroco to Free France? I did sae before the fall of France so I could always go back and select all of France if it means that Suez becomes undefended. Should I do so?
One "solution" would be compartmentalization. I've argued for it in other discussions as well.
If you want realistic behavior you should model the operational considerations accordingly.
Suez being of vital importance to the overall strategic effort (along with other areas) should in AI terms be it's own Area of Operations with the local AI "commander" marshaling his forces dependent on that AO. Much like the theater/front AI in HOI2 which in later iterations "demanded" specific forces depending on the assigned area the same should be done for the specific AI set of AOs.
Right now the AI considers the entire globe and shuffles around units across it depending on fluid situations and a lack of intel/insight leaving vital areas undefended and hopeless invasions of far away places.
Now they've done this with the Air system. A single air-zone and the forces assigned don't give a rats ass about what's going on across the ocean. They fight as well as they can within their designated area and get stuff according to priority. The overlying AI scripts then decide which areas are of importance. It's a shame that similar reasoning haven't been used for ground-forces other than the Garrison Mechanic which actually somewhat mimics that line of thinking.
An army of 30 divisions with a set objective should pay little heed of what's going on half a world away and should not extend it's front to include areas elsewhere (and thus shuffle around units to stupidity). You could divide it further and get proper Corps behavior that only thinks a few provinces ahead etc.
The overlying AI making strategic decisions might judge that a certain area is worth less qualified divisions or less numbers but that wouldn't affect the local AI and it would still at least try to request an adequate amount (and do what can be done with what's available).
The overall principle should revolve around tiered AI decision-making where each subsequent "level" considering each subordinate as a single unit with needs (rather than a multitude of units) and the sub-level doing the geographical considerations. It's also a lot easier to balance/tweak when you can modify the behavior of sets instead of a big pile of code that affects everything.
To add on to the latter part you could even have differences in operational (smaller scale) behavior depending on doctrines and leaders with some (think Patton or Rommel) being more prone to extending their AO and some (think Paulus) not giving a rats ass about what's going on outside it.