Here's what could be done...
Firstly, you as a host would have the option of opening up your games in this manner - possibly via a checkbox on the "Connectivity" screen where you invite players. As such, everyone who doesn't want the feature doesn't have to use it. You could even have a "level difference" slider to prevent characters more than 1+ levels joining to retain balance.
Secondly, if the game you are joining is open to this, all that would need to be done is to temporarily replace one of the existing party members (the ones normally controlled by joining players) with the character of the joining player.
Lastly, quests would remain as they were - the host controls them so nothing needs to be changed at all. The joining character would be playing in the hosts game with whatever quests they are currently running... just as it would be if they joined in the existing manner. As such you wouldn;t even have to worry about story progress or quests getting messed up at all. If the developers did find a way to do some form of "quest-syncing" then great, but the way described here would not require them to do that.
...it's really not rocket science. A system like NWN would be ideal, where you have a "vault" where all your characters are kept. I mean jeez, even Sword Coast Legends got that right.