How can i avoid making doubles when using subdivision modifier?
Doubles are generally a bad thing, as they are difficult to properly select, can cause artefacts, prevent cleaning whole model with Remove Doubles and can cause accidental unwanted merge when moving things with auto merge on. Sliding the loopcut just a bit before the end instead is totally fine way to do that, i really don't see what incorrect you see in that.