What I found to work best was that any time I entered a new market, I would find a local contractor organization (that already has a lot of contacts), and do short-term high-skill jobs for them for 3-6 months (for example, spending two weeks at a bank helping optimize one of their new internal services). Contractor organizations tend to work more with mid tier developers, but they get frequent requests for high skill jobs that they don't have the people resources for. This allowed me to build up a group of very happy local references which can then be leveraged for longer, better pay contracts.
Once I had some references and a budding reputation, I'd go to networking events 2-3 times a week and talk to as many people as possible about the kind of work they do and I do. It's not uncommon to have two or three potential contract leads out of every event. After doing that for a month or two, my availability and rep would spread by word-of-mouth, and people would start contacting me directly for work, and I could be more selective about the jobs.