I’ve been thinking about this problem recently, and I think another solution here is to resolve these intersections outside of the Grasshopper/Rhino library. Specifically, the OpenStudio API comes with built-in geometry methods that we can use to intersect coplanar surfaces in a more robust way.
Attached is a prototype that I put together this evening, it seems to be doing better with complicated intersections:
Original masses:
IntersectMasses (left) vs OpenStudio Intersection (right)
… and your masses (on my RH version 6.2):
intersect_openstudio.gh (466.5 KB)
-S