in my opinion mps costs should be unit-type sensitive. E.g. mounted or motorized or passive (cannons, catapults) types should behave in a different manner than infantry units, and not just on a matter of mps (as with motorized or mounted units). to be on wheels or on a horse should not be a advantage if you're traveling through mountains or swamps or jungles, and cannons should be difficoult to manage in similar terrains.
Also, advantage given by roads should be multiplied for wheeled units.
Roads/railroads. The design of roads and railroads should be cahnged. 1st of all it does not make sense a "ZERO" mps for railroads. Why not some 1/6 or 1/9 or 1/10mps? If it is difficoult to redesign the whole movement engine to lower the 1/3mp limit, then we can think about keeping the 1/3mp to SOME railroad movements, e.g. entering/leaving cities, travel thoru mountains/rivers/jungles/glaciers, or simply on a random basis (e.g. 1/3 chance to spend 1/3mp) to simulate technical failures (add a TechProblem sound to tell the player he lost 1/3mp).
OR, the randomness could be applied to the railroad infrastructure itself: there's a low chance (say 5%) to destroy (i.e. pillaging) the railroad while simply using it with militar units.
The chance to lose a railroad improvement could also be independent: say that every turn, every tile has a 1% chance to lose its railroad.
This could be a oppurtinity to design a new distinction in units: heavy (catapult, cannons, tanks, machineries...) and light ones (all infantry) opposed to average ones (mounted, wheeled...).
After all, to move a tank column on a railroad is not a simple task in real world.