Learn a song inside out, but one bite at a time. Learn the melody, learn the chords. Then find the melody on another part of the neck. Then find the chords on another part of the neck.
The next step would be to combine the two. Here is one way.
You can break each chord change into two sets of intervals: the root and the seven, and the fifth and the third. This will leave two fingers to play melody. Since each interval has one of they guidetones, you can keep the harmony very easily.
When you bring something like an altered dominant into the mix, you can substitute a chord with contains that altered note and maybe another familiar tone... now you have two more pairs of intervals to play with: the root and seven of that chord, and the fifth and third.
Here's a youtube clip where I learned this idea.