Trouble is and has always been that short-haul is seen within BA as a second rate service - all the money and kudos and the image are based on long-haul and especially Business offerings
Its so much part of their DNA its unchangeable IMHO
They could start by not automatically cancelling short haul flights and keeping long haul flying at LHR when something goes wrong