I'm not sure what a retailer can do? Yes, the customer is entitled to a full refund from the retailer because of the cancellation, but the customer doesn't want a refund, they want to travel. All a retailer can realistically do is offer an assurance that the ticket remains valid on the next available appropriate services.
But the customer has been inconvenienced, mistreated and/or misadvised by train companies and it is the train companies who should be looking after the customer.
In the aviation case, it is up to the retailer to get in contact with the passenger and allow them to rebook/cancel their itinerary, and AFAIK the majority of flight bookings are not made directly. I rarely hear about any screw up of this magnitude in aviation, which typically has further out booking windows and as a result schedule changes are comparatively common, and that makes me think it's just a lack of preparedness for schedule changes on the railway's part (presumably on an assumption that the timetables are absolutely final 90 days in advance).
My experience with flight cancellations is getting trivially rebooked onto any reasonable itinerary for no cost. At what point did the LNER train get made into a STP and start from Edinburgh? At what point did the ScotRail timetable get amended so that there was no train running on the morning of the 2nd in time to make the LNER train (from either Glasgow or Edinburgh, depending on ordering of the changes!)? Was this before or after she picked up the tickets?
Assuming it was prior to her picking up the tickets, in an aviation setting, once the first of those happened (making the booked itinerary cancelled), I would expect to be able to rebook (with reservations!) on any reasonable alternative. What would it take for advance-notice cancellations being able to be rebooked onto reservations on any reasonable alternative for no cost? Certainly if there's a cancellation weeks in advance it's rather silly having to turn up to the station and hope you get a seat at a peak leisure travel time of year when surely you could be rebooked onto another, actually running train?