You can get a cheaper fare on British trains, but they are only released 9-12 weeks in advance of the day of travel - it's too early to find these. These are advance fares, and are described in more detail here:
http://www.seat61.com/UKtravel.htm#Cheap fares.
Alternately, you can fly to Edinburgh directly from Bristol on EasyJet. Note, however, that Easyjet limits the amount of Carry-On bags you can bring, and both charges and limits checked bags (the limit is roughly 44lbs., and one bag only). However, this is probably a more sensible alternative to going back to London for your flight.