TOC specific ticket are not justified. If I buy a ticket from say Manchester to Liverpool then there should be just 2 options, off peak and anytime, anything else just confuses and complicates the system.
For longer distances there is a possible solution, extend advance tickets, a spur of the moment trip from Birmingham to London for example, you walk up to the ticket office/go online just before you are ready to leave, and you could be offered an advance ticket on the next LM service at one price or a normal ticket at a higher price (faster service). I also think the current situation where there is frequently little difference between a single and return fares needs to change, as this discourages travellers making non out and back trips, do away with returns, all singles are half return fare. This helps with the scenario above as well, when its time to return again you have a choice of 'normal' or advance, and make your choice based on your circumstances. Also if you know your outward travel time, but cant predict your return you can save some money by buying advance for the outward journey and a normal single for the return, or buy your advance well in advance saving more money, and take your chance on the day, with the most expensive being a normal anytime single
This still allows you to manage loadings between faster and slower services, once the advances have sold out (i.e. train say 50% full of advance tickets) then only normal tickets are offered, in which case people will gravitate to the fastest services
The simpler the system the less people will get caught out, and this frees up staff to concentrate on the fare dodgers which is a better result for everyone.