The divisons should be built around brigades and regiments, which are built from the battalions. You would then build separate brigades/regiments of infantry, armor, motorized, mechanized, cavalry, artillery, and whatever other manner of troops one thinks they might need. Then you build the division by piecing in regiments/divisions, and thus pay the cost for attaching a single formation, rather than for each piece of that formation. There should be a limit to the numbers of regiments/brigades, too. WWI designs were along the lines of four brigades - the "box", while WWII were more triangular, so that there would be two forward and one reserve brigade. The Germans switched to two-regiment divisions due to their manpower shortages after their initial losses during Barbarossa. The US Army used three brigades of two battalions in their armor units as they felt that they'd attach extra battalions as situations required. US Army infantry were mostly three regiment divisions, though maybe the motorized units were only two [I can't recall].
Doctrine progress should help the AI to decide on its division composition, rather than a single meta for all of the AI. I have never bothered with 40W, and I don't intend on it. I'd prefer it if the habits of the multiplayer community were not forced upon everyone else. 40W is not the way to make the AI seem more challenging. If the AI were made to behave less aggressively, and actually make an effort at setting some goals, building up, and then going there, that would remove a lot of the grind and clutter, not to mention the way the AI clogs up any battlefront that opens up. The AI needs to delegate, so various the partners in an alliance look after the battles local to them. The way the AI behaves, rushing off to fight anywhere and everywhere , does not give me the impression that these are nations that were still stinging from a bloody conflict only twenty years before.
The AI is still drawing battle lines everywhere, and rushing off to fill those lines, which is why the AI always rushes to the highest conscription laws - it has to in order to produce the units to fill out all those battle lines. The AI should be able to have one country command the fronts closest to it, or if there are supposed to be certain "political concerns" putting someone else in charge, then that should happen. During the Battle of France, British units sent to the continent should be under French control, or have an assigned sector to work within, and to not step out of that sector.
Just to illustrate - war has broken out, Italy has jumped in, and Germany is invading everybody [Benelux, Denmark, Norway]. The British should be fighting in Benelux, and any French units sent there assigned to the British. The French man their Maginot line, Corsica and their southern defenses with Italy. The British would have their boundaries in Egypt and around Italian East Africa to guard, while the French have Tunisia, and maybe a small garrison in French East Africa - but that should be assigned to the British to maintain unity of purpose there.
What happens is that every hostile border gets a battle line drawn by every country that is involved. Sure, the Dutch and Belgians don't flood Africa as their units have enough to do at home, and probably are not weighted to do so, but the British and French should not be drawing battle lines atop one another - one line for the Allies, and one or the other assigned to command that front. This would keep the French from thinning their lines trying to fill positions the British already hold, and would keep low-infra areas like Norway from becoming a logistical nightmare as every landing prompts every member of the Allies to draw fronts and send in forces.
The AI should be able to calculate what it needs, and request forces from the rest of its allies, with any extra being put into some manner of theater reserve to be deployed as and where needed, but not stuck into the battle lines. As long as the AI is compelled by its coding to draw overlapping battle lines, and fill every province tile with at least one unit, and also not be able to take into consideration what the AI's allies already have in place, or are sending, then the game will continue to bog down into slogfests with the supply networks falling apart from the needs of so many units. As long as the AI is allowed to continue being so unrestrained in every theater where there is fighting, then the AI will continue to spam out divisions until they have no people left to conscript, burning themselves out by way of long WWI-style grinds.
Hopefully this will be addressed with the promised revision to the land combat system. Regardless, 40W is not the solution.