The flaws with the current railway operation system are by design.
Franchise agreements actively prohibit competition, train operators are prohibited from purchasing extra trains themselves.
I say that we should bring the railways back into public ownership and then have open access operators register for 1 service per hour each day. That way the public can choose between getting the cramped train operated by the state at 00 or waiting 15 minutes for the Virgin train with wi-fi, extra carriages and leg room for an extra pound.
The nature of the rail network is such that full market solution is a logistical impossibility. The levels of cooperation and coordination that would be needed between operators would be unsustainable in a competitive setting and the system would simply grind to a halt.
What we have is this bizarre public-private hybrid system with heavily government regulated and subsidised franchises who run localised monopolies at a profit for their shareholders, and aren't really properly held accountable for the quality of service they provide.
Its kind of like the worst of both worlds. Profit without the profit motive, government expenditure without the oversight.