The best comparison site for 'Avios' cards is almost certainly the one actually provided by Avios.
http://www.avios.com/gb/en_gb/collect/credit-cards
As you'll see, most of them charge annual fees (of up to £140). The only way to avoid them is to choose the TSB card but that gives you the lowest rate for collecting Avios.
If you anticipate flying
long-haul with BA during each year it might be worth considering forking out £140 p.a. for Lloyds Bank Premier card, in order to get a 'free' ticket for a second person when buying a normal ticket (assuming that you spend at least £12000 on the card). However you still have to pay taxes, fees and charges, so you might not gain much if you only travel to somewhere like Paris (because you'd get much less than your £140 back). Note that the free 'companion ticket' offer can't be used with any other airlines, so your choice of destinations is restricted. (It can also be used with Eurostar but, given that booking well in advance can normally get you return tickets to any Eurostar destination for £69, you still wouldn't get your £140 back.
The ordinary Lloyds Bank card might be a better deal for you. It costs £24 per year but you'll probably get that back (and more), when compared to the free TSB card, if you put all of your regular spending onto the card; that's because of the higher collecting rate for Avios.
You've mentioned the Virgin Atlantic cards:
http://uk.virginmoney.com/virgin/cards/
You should note that the 'Flying Club miles' offered with those are totally different to, and far less flexible than, Avios. For air travel, they can only be used with Virgin Airlines or with their partners (which are nearly all 'long-haul only' operators), so you can't [for example] use them to get some free flights for a European break:
http://www.virgin-atlantic.com/content/dam/VAA/Documents/flyingclub/300616_VIRGIN_FlyingClub_Aug2014_SPENDING_V1.pdf
Avios are far more flexible:
http://www.avios.com/gb/en_gb/spend