I've had the same problem in winter when the humidity drops so low. Soaking every day for a couple of hours should do it. As prevention, I've started soaking mine every day as soon as I see signs that he's going to shed. Since I started that, its been one nice complete shed ( which is far less stressful on both of you).
I do the same thing. As soon as somebody goes "dark", I know that it's BATH TIME. I use one of those "Critter Keeper" things - the one that's long and low and nicely escape-proof. I put it in the tub, put about 1/2 to 1 inch of warm water in the container, and then plug the tub and fill the tub with warm water up to the level inside the container. I've found that this keeps the water warm longer. I usually leave the snake alone for an hour or so (this is a good time to perform cage maintenance).
Once the bath is over, I *pat* the snake dry and put him back in his cage. After the eyes blue and then go clear again, the skin will shed nice and clean.
REMEMBER to clean and disinfect the bathtub - snakes carry germs that could infect humans.
For stubborn bits, a gentle Q-tip dipped in warm water does the trick. I just hold the Q-tip against the stubborn scale, no rubbing. After a few minutes, the scale will just come right off.
Why no rubbing? Ever get a sunburn so bad you peeled? Ever pull the skin off yourself or have someone else pull skin off of you? Hurts like heck, doesn't it? Snakes feel pain, too..... Patience is a virtue, and I've had no problems with the gentle wet Q-tip method.
My younger snake, Bubba, seems to like being helped to shed. When he's ready to shed after his bath (and he's the best judge of when he's ready), he will start rubbing his nose against the towel until the lip scales come loose and then he can get the rest of the shed going. All I do is provide gentle resistance; he does the rest. For lack of a better term, it's kinda cute.
Cute it may be, but I cannot think of very many things that are ickier to handle with bare hands than a freshly-shed wet snakeskin!