I have never used any online freelance service to acquire work. Ever. Not even for one project. Without any direct experience as a worker, they all seemed like a less-than-ideal business venture for me to make market-level money.
I have hired workers from guru.com and have ultimately never been impressed. The hoops one has to jump through make the entire process highly non-customer-friendly. My personal opinion is that good clients aren't using these services and good workers are impossible to discern from the herd of hobbyists. And I know there are good workers using these sites.
I've been freelancing for over a decade successfully. While my field (design) is different than programming or development, I have several friends who are developers and pretty much work the way I do.
The key to a good freelance business without online middlemen is relationships.
I don't seek, and rarely accept, the small "one-off" clients. If they want something quick and easy and then they are done, they aren't the clients I want. That is not to say I don't do these types of project. I will. But I'm fully aware I'm doing this project just so I can earn an extra $XXX quickly to pay for xxxxx. I consider these type of projects as "bonus" projects. I never go looking for them and most often turn them down. But if I need a bit of extra cash I may do one here or there.
What I really want is long-standing, good client relationships. I want clients that have ongoing needs. Clients that will repeatedly return to me for more work. Clients that are continually exploring marketing avenues and different ways of pulling customers or clients and continually update, and improve their products or services. I want clients as invested in maintaining their brand and products as they are in making money.
Actual location means nothing in the digital age, especially for certain types of work. I live in a fairly small town and I constantly have enough work. If I had to actually survive on the local market here, I don't think I could.
All that being posted, the local market can be a goldmine for connections.
The key to this is learning to network without the online services.
If I'm doing a simple project and need support from a developer, I contact those I know. In many cases this leads that developer to retaining the client I initially needed support for.
If I'm in need of marketing and list management services, I contact those I know who do that. And again, often this results in that marketer retaining the client I needed assistance with.
I do this whenever needed and in turn, when they have a client in need of my services they contact me. This often results in my retaining their client for the services I provide.
Note I'm not referring to sub-contracting the work. I refer the client to these people for the work. I make nothing for the referral except "good will". I could choose to sub-contract these sort of things. However, if doing so I then become a project manager and am responsible for the work of others. I'm then dependent upon my ability to translate what the client wants into terms the sub-contractor can use and understand. It's much easier to step away and let the client deal with the service provider directly. I may be forgoing some income in doing this. However, I gain a lot of return referrals. Those referral greatly surpass any possible income I'd generate via sub-contracted labor. These referrals are not competing for my services, they are services which are needed in addition to my work.
If you don't know anyone in tangent fields, start looking. I'm in the US, so obviously this answer is biased in that way. I have no knowledge of foreign markets and what may or may not work in them. All I can post is what's worked for me.
- Meetups or conferences.
- These are a fantastic way to meet people in your general area of work but who specialize in other areas. If you attend something like a "developer conference" you will most likely meet a ton of individuals that work in areas you don't. These are the connections you want. I realize travel may be involved. These may take more planning and be more rare. However, when possible, GO!
- Local organizations
- The Chamber of Commerce or local business groups can offer a wealth of business in need of services without any idea who or where to look. These are business in the same position you are. If they don't have any connections they ultimately may try online services (and be disappointed and grow gun shy of those services). Connecting face to face with these people and business can turn things around very quickly.
- Old connections
- When I started out I got a great deal of work from people I used to work with in a company. I knew developers and marketers because they were in different departments within that same company. Provided this is an option, touching base with these people can yield work as well. Perhaps not for that company but if they are venturing on their own as well. Realize that many professionals also work "on the side" for other things. Letting them know that you would be happy to entertain things which use your services can open a few doors there. Although this does, admittedly, rely heavily on what those other people are doing with their careers.
- Build one great "plumbing" web site and other plumbers will notice. Or implement some UI design that gets great reviews/feedback and others will want it. Too often a freelancer can try and be all things to all clients. This isn't always a great idea. The more expertise and specialization you have the more in-demand you may be. Think of it as an artist with a style. If you have your style which works very, very well. Others will want that style. This makes you a commodity.
- Stop "rolling steel" a.k.a Don't have one train of thought
- In college the other students and I used the term "rolling steel." What this meant is if someone spends 12 hours a day at a steel mill, sweating, aching, and just hating their work, the last thing they want to do when they get off work is to go talk about "rolling steel". So you need to stop as well. If your only real venue is online, don't spend your time online hanging out in "developer" forums if you are a developer. No one there is ever going to need your services. Instead expand your circle. Hang out in small business forums, or in design forums -- places with other individuals that may actually need your work. This will lend to online connections that are not competitors for you. Put yourself in situations where others would possibly need your services rather than surrounding yourself with those that offer similar services.
Online services reduce you to a username, not a person. I know almost no one that feels any sense of obligation, loyalty, or even cognitive remembrance of a user name. Even reading this answer, you may remember the content of this post but a month from now you probably won't remember who posted it. This is where online services kill your business. You want people to remember you, your name, your work. Not that they "hired some guy on freelancer.com". Only direct, face-to-face interactions or specialized services tend to lead to this.
TL;DR: In short, you need to expand your circle. Look for those tangent services that would be used to support your work. If you are a developer, look for designers that need development help. If you are an app builder look for designers or developers who are in need of apps or look for marketing professionals who coordinate all this. Those are the relationships you want. They will lead to better clients who are repeat customers. And repeat clients are how you can effectively sustain a freelance business without the stress of constantly looking for work.