I don't think BA is the only airline to do this in the world, look at Air France, how many long haul destinations from any city other than Paris? Look at Iberia, how many other than Madrid and a couple from Barcelona. Lufthansa also operates around 85% of its long haul from Frankfurt.
BA are making money doing it this way. They are no longer a state owned company so they have no obligation to provide to every region.