I'd say keep your expectations low and you'll be fine.
The reality absolutely does not live up to their advertising.
I fly long-haul a lot. In the last year or so I've been with Virgin, Air India, Singapore, Delta, and others. Next month Cathay to HK and on to Chengdu and the following month it'll be either BA or Virgin to Shanghai. Then Aeromexico to Mexico and down to Panama...Almost always economy, but I pay extra to get the emergency exit seats for extra legroom.
BA is adequate, though I tend to call them Bluudy BA. Always something seems to go wrong. Or maybe it's because I look out for it nowadays. The staff seem a bit more jobsworth than some of the Asian airlines. But as NoM says, you may get lucky.
Virgin consistently seem to go out of their way to help out if I want something a little extra.
But the lesser known brands do seem to try that little bit harder, as the big names can be a bit complacent.
As to food, your tastebuds die at 11,000m, so it's not really about flavour. All the airlines (that I've been on - except China Eastern, who ran out of beer) have an essentially unlimited bar for long-haul, if that's what you want.
Flying economy, you soon realise that BA (and others) is not really interested in your business. They want the premium passengers in Club and First. BA is especially class-conscious. They have about 20 different levels of club member, all of which get to board the plane before you.
In the end, it's just sitting in a seat for a few hours, with people bringing you food and drink. Personally I try to avoid BA, but that's a very personal opinion.
Also, use seatguru.com to select your seat :)