When I complained to BA and they refused to offer me any compensation I took them to court for the entire cost of the upgrade I paid for and they caved in and paid it.
Reality is I probably would have accepted some Avios as compensation, alternatively i’d charge them for a Meal at either end of my journey or anything bought on board.