How to provide offset for the text to placed along the alignment without overlapping

Basically, you need to figure out an algorithm to find the right direct for each label. Depending on elements, you can try to use normal vector or a tangent formula. At the end, I would use Geometry.Translate(distance, direction) node for the insertionPoint input to set the new location of my label.