Circling is the cure I was taught by our trainer. And, it works. The circles we make are very small ones. "No roundabouts!" our trainer friend called to me one day. I asked what he meant, and he explained that larger circles where the horse can just walk around aren't as much work for the horse. Make very small circles, using a tug and realease action on the inside rein. Pull on the rein, then release the pressure when the horse yields and starts to circle. Use leg cues, as well, if your horse is trained for them. Continue in a small circle, but watch very, very carefully for your horse to flex his neck and bring his head around toward your toe, even touching your toe. The instant the horse flexes and gives to you, walk him out of the circle. If he continues to walk, praise him. If he takes even one step into a trot or anything other than a walk, instantly turn him in a circle. It's very important to always walk your horse out of a circle . . . never let him just stop when you complete a circle. It's also very important to start a circle with the first step the horse takes that's not a walk . . . don't wait for two or three steps. Also, don't always turn in the same direction. The theory behind this is that circles are work for your horse. If you do this carefully, he will soon understand that when he doesn't focus on you, he has to work. His reward is to walk out of the circle.
Another suggestion, is to always, always back your horse when you stop him. Back until his head bobs down - this is a sign your horse is yielding to you and acknowledging you as his herd leader. The instant his head bobs down, drop your reins on his neck, giving him full and instant relief from the bit. If he walks off after backing and stopping, immediately circle him.
Backing shifts your horse's weight onto his hindquarters. He is less likely to just walk off after you stop him if you always back him. Backing also gives you a safer horse to ride. If you have a horse that knows how to back well, and who knows he is always going to back up when he stops, he will respond much better to your command to stop.
The best of luck to you. I think you can solve this problem, but it will take very consistent work on your part. If you decide to do the circles, at first they will drive you crazy. But, you will wind up with a horse that is a pleasure to ride in any direction.