This is my take to the problem of splitting multiple curves in their intersections. There may be other approaches, and there are even components inside plugins that do this, but I wanted to have my own in-house solution so I could understand what is going on.
The image on the left shows the original 7 curves, and on the right we see 28 curves, with a small negative extend so that we can see their individuality. Here you have the original .gh definition as well as a handy cluster: shatterall.zip