This largely is about the gap between the A380, B787, A350 and ten-a-side 777 versus the other 777s . 747s are a more complex case. Unfortunately you have experienced the two extremes, which is perhaps a known issue in this forum, but not more generally. BA is on a refurbish programme for much of the fleet, but these old WTP seats will be around for a few more years.
By all means complain to Customer Relations but the best idea is to select future WTP seats based on aircraft type.