For Edinburgh the usual answers are Glasgow and Dundee- 45 minutes and 1 hour away respectively, and both with cheap 24/7 fast bus services.
But you are right, Glasgow is astoundingly expensive, and I can't see that there is any special event on. But then I looked at the Isle of Islay today in March- and my usual hotel has tripled it's rates- nothing special happening and the rates aren't dynamic- just tripled them.
Perth Central Travelodge (a no frills budget chain)- one hour from Glasgow by train- is £423 for those 6 nights. It's a central position, if the 'wrong' (east) side of the river.
Looking at the prices I'm seeing for Glasgow for those dates I'd be staying in Gourock for literally 1/3 of the price, and commuting in- 45 minutes, twice an hour on the train. I know the hotel in Gourock and would be very happy.
Tongue firmly in cheek, but it's seriously an option to me, if not to most people. Carlisle is 70 minutes away by twice hourly train (102 miles), about £20 return (probably cheaper than from Perth). Two good quality hotels there right by the station for about £500 to £600 for the 6 nights. The Ibis (5 minutes walk from the station) is £437 for the 6 nights. Yes I live in Cumbria but at those prices (which are actually high for Carlisle) I couldn't possibly justify staying in either Scottish city. I also have a lovely high quality B and B bolthole in Carlisle City Centre- for those 6 nights their basic room is £250 or an en suite one £55 a night.
I can be in Glasgow by 0820, and last train back around 2000. Edinburgh first train arrives before 1000.