My snake has shed now about 7 or 8 times since I've had him, he's just on 2 metres long. He does always have a 40lt water pool available to him 24/7. Now I'm no expect on snakes and can only go by what I have read and seen my snake do. But all his sheds have been perfect mostly all coming off in one piece (my kids love to keep those ones) but I have noticed that the broken ones are broken due to him sliding around objects in his tank which I presume the skin gets caught on. But (and I've never taught him this) LOL but I have noticed that he soaks himself for about 10 to 15 minutes by swimming in his pool before shedding and that it's always at night time when it's colder that he sheds.
In my personal opinion the weather (heat) around them may have a part to play in how they shed. think about it for a sec, the skin is not much different to a very extremely thin sheet of (lets say) some sort of film, If you expose a film to heat it gets soft and tacky (which is why it may stay stuck on the snakes body) and hard to work with but if you keep it cold it's stay firm and is easy to handle which would make the snakes skin none tacky allowing the moisture to separate the skin from the body much easier.
This may be a way off description of explaining it but I'm sure you can get the picture.
Try (only a suggestion of cause) when you know your snakes going to shed keeping him in a cold area or for lack of a better way of explaining it, turn off all heat sources in the viv. Only a thought.
You may say I'm talking out of my whatever here, but I'm the type of person to observe, look and remember things like weather, surrounding elements, individual circumstances etc for everything from live animals and pretty much everything and every element of every aspect of everything plays a part in how long it lasts, stays usable, fades etc etc. That's just me I suppose and probably due to my line of work but anyway it's a thought and only a personal observation which may help your cause.
Cheers