The Halti is an excellent, quick solution for most dogs and it helps that you can keep exercising the dog without getting dragged all over the place.
The stop and change direction also works well if you have the patience of a saint and impecable timing. I was taught it this way:
the moment the dog's nose goes in front of your leg (i.e. moves away from the ideal position you want them to be in), stop (no compromises on this, don't wait till the dog pulls, as soon as the nose is too far ahead you have to stop)
ignore the dog until it turns around to look at you (this can take eons with some dogs), but as soon as it does look at you reward with an exceptionally high value treat (click and treat if you are into clicker)
turn in the opposite direct and walk off...the dog is likely to overtake you almost immediately in which case you start again!
My first dog had impecable lead manners with this exercise if she ever went slightly ahead of me I would stop and she would promptly reverse back to my side, however it was very difficult to do with dogs no 2, 3, 4 and 5.