In Repetier Host it says that when you pause a print you can still move and home the print head. You can then change the filament, and when you resume the print it will go back to where it was. I would make sure you fully flush the head, and give the new filament a few minutes to heat up to make sure it flows smoothly.
Additionally, this is something I have found very useful in Slic3r. You can go layer by layer through your print, and pick the exact point you want to change filament. You can go to the g-code, and go to the end of that layer. Add an @pause. At this point, you can pick the "run on pause" option. Then you can either set coordinates (ie. x200 y200 z15) or send it to home when it hits that @pause or anytime you pause your print.
Solidoodle 4-Mostly stock running off headless Raspberry Pi with Octoprint