I'm afraid I still don't grasp how creating a new session (when the user comes online) is problematic for your use case. As you say - the old session is still accessible until it expires, but it shouldn't be introducing any functional issues for the new session.
Is this solely a performance consideration? If so, have you seen performance overhead related to the number of sessions being created? There shouldn't be any memory/CPU overhead from the Sync Gateway side, and I wouldn't have anticipated issues solely based on the additional session documents being stored in the bucket.