Probably not a huge amount to choose between them in economy - you'll get decent enough seat-pitch, entertainment and 'free' drinks.
I'd go whichever was the cheapest for your specific journey. In all likelihood though, there won't be much to choose between them pricewise and when push comes to shove I'd always choose BA.
(I flew Virgin to Orlando a couple of weeks back - first time I've flown them for a few years and they were 'fine' - no more, no less)
Not flown to Japan with either but have done the States with both several times.
BA hands down
Virgin Stewardesses may be better looking but are more interested in where they are going that night or where they got their roots done than looking after you.
Virgin without a doubt can't recommend them highly enough and their service has been superb everytime i've flown with them.
BA sorry can't stick them, poor service and don't even mention the food...
If money were no object, even in Economy, I would choose one of the Far Eastern carriers, as their service is much better and so is the food usually. If you are only going to Tokyo or Osaka (mind you I don't think BA or Virgin fly to Osaka), then BA or Virgin will be the cheapest. If, however, you are going to one of the other cities you may be able to get a cheaper all-in deal with Japan Airlines or All Nippon Airways. That was the case for me when I went to Japan, though that was back in 1997. It may have changed now. JAL were superb.
Depends on the route....North America Virgin is cheaper, but for me the overriding decision is based on failures. If a BA plane is delayed then they will be able to get a replacement there in a relatively short time. Virgin just don't have the fleet size.
For Asia, BA beds are better now they have changed the matress. If economy, just go for leg rom. BA is 31 across the fleet, Virgin is 30-31" depending on the plane.