Maybe a Boolean modifier to take the bites out of the torus?
Select torus
Add modifier
Select boolean
Operation:: 'Difference'
Object :: {one or all of the spheres}
Apply
Hide/Remove spheres.
(or shrink the spheres for use as the spheres in the final}