I'd guess that different airlines have different policies, but it seems to me that upgrades typically only happen when the main cabin is overbooked. In that situation, the best bet is (IMHO) to be on one of the upper levels of a frequent flyer club. One flight a year isn't going to cut it. Gold or Platinum (or whatever they call it) status does ..... sometimes.
Another factor is your ticket class, and that of other passengers. For instance, a full-fare minimal restrictions transatlantic ticket is about £1500. If you paid £200, you have a ticket with heavy retrictions. I know that some airlines look for people with the higher category of ticket (and higher fare) to upgrade.
Then, you need to "fit". If you're scruffy, the odds are you won't get upgraded. If you're part of a large group, or a family with kids, the odds aren't good, because they won't want to risk upsetting people paying business-class fares with noisy kids, etc.. But if you're presentable, and either a very frequent flyer or hold a relatively expensive ticket, and the main cabin is overbooked, you stand a decent chance.
Alternatively, either use frequent flyer points to upgrade a basic ticket, or buy one ticket of the class you want, and use frequent flyer points to get a free companion ticket.