How to avoid overlapping of links on nodes and groups

Did you not set avoidable on the regular nodes?
Did you set avoidable false on the outer group?

Did you set avoidable false on the inner group?
Are there a lot of collapsed groups in the middle of your screenshot? I didn’t know that. If so, try this binding on the group template used by inner groups:

new go.Binding("avoidable", "isSubGraphExpanded", e => !e).ofObject(),