It's hard to find good freelancer but it's not impossible. You just need to be careful and do your dues.
I'm also an offshore software developer who usually works for US companies. Here are some guidelines that makes both me and my clients comfortable with the whole process.
Always agree on fixed price, never hire someone on hourly basis. This is actually great way to qualify developers. It shows their ability to understand project and think it through. This of course requires good project specification. You should at least provide wireframes. Also, this method shift risk to freelancer - if the estimate was way off, it's him who will pay the price.
Never pay upfront, especially to offshore developers. I believe the best setup is to use some sort of escrow service. You, as a client, deposit all funds prior the project start. You can't withdraw them unless you file a dispute. Freelancer gets paid on delivery, but only if you accept the project. In case of any dispute, escrow service provider acts as arbiter. You can also use milestones in this schema. This keeps developer motivated, as he can always see the money hanging there...
Have periodic project update meetings. I believe 2 weeks interval works best. Don't micro-manage. The good developer doesn't need you guidance, it actually hurts his performance. These meetings exists so you have a chance to catch any misunderstanding soon. Also, don't change the scope during development. If later find out that you require yet another feature, create an follow up project. Don't make it uncomfortable for developer by asking for it. I have no problems turning these kind of requests down, but many freelances would actually do it. And be pissed at you for cutting their profits.
Hope this helps with your future projects.
Code evaluation sites will likely give you little that matters for the successful completion of projects, other than a narrow ability to code. Successful project completion is so much more:
It depends on what youare hiring, but unless you handle most of the larger details yourself, and only rely on the developer as 'code monkey', evaluation sites likely have little value, except as a place to start your evaluation.