Here's what I would do but I tend to take a cavalier approach to these things:
- There's space on Virgin in Premium Economy roughly at the same time your flight was
- I'd call BA and ask to be placed on that flight
- If refused, ask if they are refusing you to reroute you to your destination at the earliest opportunity, bearing in mind that you should be rerouted on any available carrier
- if the agent still refused, take note of names, etc, and rebook yourself on that VS service
- ask for ticket to be repaid to you afterwards - surprisingly in my experience BA has repaid some of these claims with no quibbles
- If that doesn't work reclaim the cost back via MCOL