Distance related fares are something that I have supported for quite some time; the price of any service, particularly one partially funded by the tax payer, should to some extent reflect the cost of providing it. I fully understand that this is not a simple calculation, and there are a myriad of things (potential variations) to be considered before settling on an appropriate £/mile metric.
I would imagine the cost of tickets on services such as the Night Riviera would be unaffordable to just about everyone were that formula to be followed.
A potential solution would be to taper the cost of rail travel over a specified distance.
For example:
First 150 miles x p/mile
Next 50 miles .75 x p/mile
Next 50 miles .50 x p/mile
This algorithm would be published as part of new mileage based fares. Similarly off peak fares could be charged as a specified % of the standard fare.