Sounds like both OpenTTD and CiM don't have ideal pricing structures!
In real life, you can't just build a line between a coal mine and a power station and force the mine to pay you to take its coal to any destination you choose that requires coal. There would be a market for coal, which the mines sell and the power stations buy, and then there'd be a choice of methods to deliver it. Train, barge, truck, for example. The Moria Mining Company sells coal to Battersea Power Station, then they make a contract with the railway to deliver it. This might require the railway to invest in lines going to the mine and the power station. Taking the coal on a sightseeing tour of the country won't extract more money from Moria Mining Company, and late delivery will cost you penalty fees. In fact, the railway has an incentive to try to deliver as efficiently as possible. (Of course, in real life, railways can't build anything without extensive fighting in government and a lot of taxpayer's money. And you probably wouldn't build a power station if there's no railway to deliver coal to it, because rail is definitely the best way to feed a power station!)
CiM is very different because it's an urban passenger transport sim, not a national/regional freight (mostly) transport sim. In reality, companies can set different prices for different journeys. But for journeys within cities (which is what CiM is really about) - often tickets are sold at one price for any journey, or with two or three prices across a zone system, for simplicity.
Years ago I made a crude model for estimating the relative value of passenger journeys. The model says that journey value is proportional to the net distance travelled, and to average overall speed. Net distance is the straight-line distance between departure and arrival points. If I'm travelling between London and Paris, they're 340km apart, but it doesn't benefit me at all if the train goes via Brussels along 600km of track instead of going direct. Average overall speed is the net distance divided by the total journey time. So if it takes three hours to arrive at the station in London, travel to Paris that's 340km away, and then leave the station, the average speed is 113km/h. If the train was twice as fast, the journey would be twice as valuable and I would expect to pay twice as much. If I was going somewhere only 170km away from London, the journey is half as valuable. It's a very basic model, which I began to use to see which tickets sold by the bus company I work for might be over/underpriced.
But something similar could be used by CiM. When you're making a Line, you could choose to use fixed-price tickets like we have now, and get an Attractiveness bonus because of the simplicity, and perhaps lower Maintenance costs from the office because less office staff are needed to manage the route. But CiMfolk making short journeys could use the value model I just described to decide that short journeys, or very slow journeys, are overpriced. (If a CiMfolk decides to travel across the city, and has a choice of a direct Metro or a cheaper Tram that goes in a circle around the outer city, and he picks the tram, and it takes forever because it's stuck in traffic, he might decide the tram is overpriced for that journey because it's so slow and use the metro in future.) For longer routes, like the cross-country bus to the village in Vienna, you could choose to use prices based on distance. You should still be able to adjust the scale of the prices, like you can adjust the fixed prices now. You'd pay more Office maintenance for managing the prices of the route, passengers will pay a higher fare if they're travelling longer distance, and they'd still decide afterwards if your Lines are cost-effective or not and whether they'll use the car/taxi next time instead.
edit:
I don't know openTTD but in ** Giant games the fare depended on the distance (from stop to stop, not travelled) and the journey time (the faster the better). It's not perfect but the current system of 1 ticket per transportation mode seems unfair. If you have a very efficient bus-only system you will go bankrupt very fast.
You've summed up everything I wrote before I'd even finished writing it. Aaargh! ;-)