The best thing you can do is browse forums, look at how people are trying to earn money online and then create and sell them tools to make their lives easier. Look for problems-> create a solution -> capitalize on it $$$. Be innovative.
Can't agree more with you there. I have been on oDesk and Elance have won several jobs and made a fair money. However, competition is huge and whenever you see an indian bidding you can be sure it will be a low bid and hard to dispute even if their quality sucks lots of people tend to go for the cheapest.
I have a rl work and take jobs on Elance (used to use oDesk but its terrible) just as a hobby for some extra incoming while I am developing my own solutions that I will be soon releasing which in my opnion like Chris said is the best option, look around, research and find something worth doing or worth making better and you will get your share!
In regards job sites what I do ? I will bid whatever price I evaluate that is the right price for the job in question considering my skills regardless what others bid.
I know my quality, know my guarantees and all my clients also know about it too and the feedbacks you award from them is the living proof that backs up your pricing.
If you really want to work on oDesk/Elance mainly, I will recommend you to start with cheap prices (that you can afford ofc) just to build up some feedback, make sure your profile is really well done and describe what you do.
After that it is all about being able to make good proposals to stand out, try not using default ones, if you can make proposal for each specific job it is more likely you will get that job rather then using a default "Hey I can do it one".
Use oDesk only for hourly jobs as you have guarantees to get paid and Elance for all kind of jobs.