Could you use a bed rail on the outside and sleep DS2 between you and the rail (instead of between you and DH)? The bed rail we have doesn't really take up any room ITMS, it's a portable one that kind of slips under the mattress and just provides a bit of a barrier.

Otherwise, what about something like a snuggle bed? (Google images for what it looks like)