I do not see how it is practical for BA to have separate seats due to the wide ranging use of aircraft (including UK domestic) and the varying number of rows of club europe based on demand. With a set cabin, this flexibility would be lost.
I have always found the club europe product adequate with having the seat next to me guaranteed as empty. The majority of the food is also fine (though of less importance due to the excellent lounges at lhr if flying outbound) and on the whole I have always had excellent and efficient service with frequent offers of drinks.
Whilst there are maybe less benefits for gold / silver holders, a club Europe fare offers excellent extras for others such as access to the amazing lounges, increased luggage allowance etc.
Therefore, I do not think it is that bad and certainly not compared to other European airlines. Fair enough, United and AA US domestic may have bigger seats, but their onboard service does not compare and I would rather BA’s very edible salad any day.
Having said that, I would agree that the addition of a few extras could make the difference such as a pre take off drink (though due to the size of the cabin this would be hard at times), hot towels, and more importantly laptop power.
As a whole I do not see why European flights cannot have live TV on such as Frontier airlines which shows Direct TV upon boarding.