I prepared this minimal example (you can try it at http://magjac.com/graphviz-visual-editor/ - not okay):
digraph mydigraph {
"a"->"d"
"b"->"e"
"b"->"f"
"c"->"g"
}
How can I have the elements in the first row (a, b, c) be distributed evenly? ... and the ones in the second row (d, e, f, g) of course as well?
I tried changing the order of the elements: It is fine, if the two-node elements follow each other (for example http://magjac.com/graphviz-visual-editor/ - okay).
My assumption: The uneven distribution seems to happen only when the three-node element is in the middle. (Yes, I cannot work around the problem by changing the order ...)

There is no guarantee of symmetry except by explicitly positioning nodes (https://graphviz.org/faq/#FaqDotWithNodeCoords).
However, putting the three troublesome nodes in a cluster produces this for your minimal example
Giving:
