Whilst I kinda agree with you, it's not always a straight forward decision.
The situation with Hearts at the moment is that they are selling out just about every game and as a result they are giving visiting clubs minimum allocation (understandable if you can sell more to your own fans). If they simply put those tickets on sale on a match day then you run the risk of people travelling and then not being able to get a ticket....which leads to unhappy people outside stadiums (understandably having gone to the hassle/cost of travelling) and possibly some who would be intent on causing trouble.
Historically we take a lot of fans to this fixture (500/600+), especially when it falls at this time of year and the allocation wasn't much greater than that.
There's also a risk that with the home end selling out, if they just do pay on the day then you end up with the away end being full of home fans desperate to see their team....again, generating risks of unrest.
It's a nuisance for those who like to decide on a whim, or may not know if they can attend until nearer the time...it's an even bigger nuisance when games get called off...but not much alternative under the circumstances.