The golden rule of getting the seat you want is to plan ahead. You can get a BA long haul club seat booked as a 42 day APEX for less the price of full fare economy.
Other than that build up your FF loyalty level and with airlines like SAS and BA they will frequently upgrade you. Else pay full fare on a very busy flight, hope your class if overbooked and the next one half empty and smile!