My strategy has been to take a new position that is a good fit for my current skill set and allows me to grow in the direction I'd like to move. Coming from the linux side of the house, I wanted to move more into software engineering. Each job hop moved me into more and more software development-centric roles.
Fortunately for me, it's usually meant an increase in pay as well, though I didn't maximize pay at each hop. I could have been paid more at different firms I declined during each move, the position responsibilities were always key for me.
I have a really high ratio of interview / job offers, but that's because I choose to apply for jobs where I had nearly 100% of the requirements.
I think this was a mistake. I should have taken more risks, try to apply for more challenging jobs that aren't completely in my comfort zone.