While thinking on the topic, I have heard that the current system is meant to model the lack of supply caused by russian advance and russian winter and lack of rail road infrastructure.
The UI set up of infrastructure seems to be a way to do that, but one of the reasons it seems to not be a logical implementation is where the bottlenecks are.
In the supply engine, the bottlenecks are actually in Germany, you would think the bottlenecks would be across muddy and winter provinces with low infrastructure in Russia.
So as another poster posted, I agree infra should probably be partial expotenial curve , so that if you invest to get to infrastructure 10, it will have 1000 or more ability. But at the same time 1,2,3,4,5, would have more granularity. Maybe something like a range of 0 to 12 of { 2,4,8,14,24,40,80,140,240,400,700,1500,10000 } optimally with some higher cost to build at higher levels. But a level 11 if reached should be stable. So
+1 if capital, +1 if core.(lvl 10 + 1 , 11 for in home core, or 10 +1+1, 12 lvl for capital)
Then with a supply engine that handles many factors, the lack of supply would be caused by level 1,2 infra provs in Russia, while Germany would be able to get supply shipped without bottlenecks.
Rules could be implimented partisan activity either reduces as a percent or an amount or as a level, and things like in core province could give a bump.
You would think that terrain should effect building infra, not once it is built
Russia could get extra bump for when in cores to compensate for low infra 1, 2 in most of its provs. Or Germany could get a drop in Russia for things like trains being different rails. And those things would optimally be accesable by scriptable events.
And weather effects could drop an infrastructure value when computed.
Then the bottlenecks would be where they should be, in the winter/mud on the front, not on the super highways inside Germany.
Just some thoughts on the different ways to do such systems