I have had a lot of upgrades on Emirates and Thai , and will give you my opinion on the best ways , at least from my experience.
1.
Join a Frequent Flyer program.
Find the airline you will be using most , the majority of airlines are part of larger global alliances (Star Alliance , Sky Team or One World).
2.
Become Silver or Gold
The higher "status" you get, the better chance of an upgrade.
With Thai , once you have flown 10,000 miles you get Silver.(1 U.K - LOS return).
Emirates require 25,000 miles for Silver. If you book on-line with them you get 50% extra miles , so 1 return trip U.K - LOS can get you approx 20,000 miles.
Once you get "Silver" , you get bonus miles for each flight and also require less miles to retain your status.
3.
They look after their own
Most airlines have a priority system for upgrades, they will upgrade their own Gold members first , followed by their own Silver members. After that , they will look at Gold members of the Alliance program they belong to.
e.g. Thai will always upgrade their own Gold members , then their own Silver members and finally "Star Alliance" Gold members.
4.
Be smart and punctual
Turn up at check-in reasonably early , there may only be a couple of upgrades available and these will already be allocated if you turn up at the last minute.
Dress "smart but casual" , although this may sound like discrimination , most check-in staff will judge you on your appearance and are more likely to upgrade someone who looks "suitable".
5.
Smile
It may sound stupid but if you are polite and courteous, they will remember you. You may not get upgraded on that flight but they can "highlight" you for possible upgrade on your return flight.
It can still be hit or miss who gets upgraded , but in the 9 year I have been flying to LOS , I have had about 30% success rate at being upgraded at check-in , and have used my air-miles for about another 30%. (Business Class is so much nicer on long flights.

)
In case your wondering , I have a Gold card from Thai (ROP) , and a Silver card from Emirates (Skywards), these cost nothing and have probably saved me a few thousand pounds over the years.
