To be honest, I consider it to be a good flight if I get an aisle seat, I arrive on time, and my luggage arrives on the same flight that I do :). I tend to choose flights based on time, route, connecting airports, and such things.
I've flown BA many times. If you want to reserve a seat more than 24 hours in advance, they now allow you to do that but charge an extra fee. On the other hand, unless things have changed, they do allow you to check a bag free. While they are partners with AA, you don't earn AA FF miles on transatlantic routes.
I've never had any major problem with BA (save the time the flight attendant kept serving the slobbering drunk in front of me).
Are you flying to London or just connecting there? Some people hate connecting at Heathrow, but I don't have any particular problem (other than it is a big airport and it takes a while) with changing there. I've missed my connection twice at LHR (I think I was on BA one of those times). Both times it was due to a delayed departure from the States; I knew before we landed that I was going to miss my connection. Both times I was put on the next flight out and I was only a couple of hours late.
I've only flown Virgin Atlantic once and I have to say that I was sadly disappointed ... didn't find them to be anything special ... the fact that it was a packed flight over the Christmas holidays probably didn't help.