I travel frequently for business. I have practically every airline mile card there is but most of my miles are on United because I'm from Washington DC (a United hub). I finally reached Elite status for the first time this year. The way to gain enough points for a free flight is to try and remain loyal to one or two airline programs (for example if you chose United, you can fly on Lufthansa, Austrian, Emirates and others from UK and still gain miles on your United plan). If it's not a huge difference in cost, I will pay a little extra to fly on a United partner than fly a cheaper airline that doesn't give me any points. Last year we earned enough miles that we got free tickets to Hawaii from DC but had to book almost a year in advance.
Nowadays you can earn miles without ever leaving the ground. For example on United, you can sign up for their credit card schemes. The downside is they have an annual fee. The absolute best card, if you can afford it, is the United Visa Platinum. It costs $130 a year but you get 15,000 miles bonus every year, a free companion flight ticket, plus 1 ELITE qualifying mile for every $1 you spend, which is better than just earning a regular mile for every $1 (Elite status is awesome, gets you lots of perks like free upgrades, which to me are much more coveted than a free flight). Also read up the airline mileage club website for frequent promotions, like 2-for-1 miles on things like FTD flowers, hotel stays, even buying gas or groceries.
As for Virgin, don't join both Virgin and Continental plans. Chose one or the other, and then keep your miles combined. I dont know much about either plan but you should chose whichever card has the partners you will more likely use in the future. If you chose Continental, for example, Virgin will accept that card, or vice-versa.
Make sure also that your spouse or children (if any) sign up for their own cards to get their own miles.