You can move filesystem trees around between mount namespaces very simply with the new "mount as file descriptor" calls in modern Linux kernels.
run as
docker run --privileged --pid=host -v /var/run/docker.sock:/var/run/docker.sock justincormack/addmount agitated_bose /tmp xenodochial_leavitt /tmp
where agitated_bose and xenodochial_leavitt are container names or process IDs.
Replace the paths with any paths you like.
The C code is very simple: open_tree is equivalent to mount --bind and
move_mount will move the mount corresponding to the file descriptor. Use
file descriptors for everything!