Did a quick look on Travelocity for one way plane fares at random dates and found that the lowest cost average from any London airport to Edinburgh is around 60 GBP. Looking at the National Rail web page for the same random dates and also one way tickets found the lowest average train from London St Pancras/Kings Cross to Edinburgh is about 40 GBP.
So not sure where you might be looking to come up with rail more expensive than flying from London to Edinburgh. Time consuming yes since the train takes about 5 hours and the plane is around 30 - 45 minutes. Of course you can pay a lot more for either option depending on how close to departure you book, which airline or rail company you choose and if you pick basic coach vs 1st class.
When I made the same trip last summer the schedules were there about 4 to 6 months in advance for the train. Air fares were there nearly a year in advance. I even went for 1st class on the train since it was only 10 GBP more than coach for the day I traveled and included entry to the club at the train station for a predeparture snack and drinks and then meals and unlimited alcohol on the train. I also really enjoyed the entire experience much more than flying.