Is there any way to prevent overlapping nodes and have links avoid crossing nodes in a ForceDirectedLayout diagram. The attached image is what I get. Removing node overlap would be my first priority to certainly avoid the links rendered in the sea green node at the top.
You could try increasing the value of ForceDirectedLayout.iterations, perhaps to 200 or 300 or so. Because the graph is so interconnected, perhaps you should decrease the defaultSpringStiffness or increase the defaultSpringLength.
Basically you need to play with the parameters to get it to work well with the kinds of graphs that you have.