I imagine the system to work as follows: There are three running cost multipliers, for steam, diesel and electric respectively.
These would change over the years according to some curve, in the best case this curve should be modifiable via NewGRFs
example curve (btw how do I scale an image?):
With inflation enabled the inflation should also increase the multipliers accordingly.
With recessions enabled, there should be events such as "fuel shortage/coal shortage/energy crisis" (increased multiplier for one of the motor types for a certain time span)
or "fuel/coal/power subsidies" (decreased multiplier for a certain time span).
This would also need some minor UI adjustments such as adding a fuel price graph and changing the running cost to show something like "3.000t of coal/month" instead of "£3000/month"
obviously you should be able to toggle this behavior and change the recession impact in the settings.
I am probably able to implement it with a little help about the codebase.

