Workaround
One possible workaround is to use one shared anchor point with the setting head anchor=north, tail anchor=south
and add shifted parallel edges manually. The vertex labels are available as coordinates which makes it convenient to refer to them.
However, this does not easily extend to more complicated graphs. But right now for the five graphs I have in mind this works.
The following solution also solves the problem of non-straight edges with \graph[edges={bend left=0}]
and adjusts node positioning with nudge left/right=...
.
%! TEX program = lualatex
\RequirePackage{luatex85}
\documentclass[tikz]{standalone}
\usetikzlibrary{graphs,graphdrawing}
\usegdlibrary{layered}
\begin{document}
\begin{tikzpicture}
\graph[
layered layout,
head anchor=north,
tail anchor=south,
edges={bend left=0},
]{
{ [edge={draw=none}] 12 -> 6 -> 4 -> 3 -> 2};
{ [same layer] 12, a/17 },
{ [same layer] 6, b/16,c/14,d/15 },
{ [same layer] 4, e/9 },
{ [same layer] 3, f/13 },
{ [same layer] 2, g/2, h/5 },
a -- {
b -- {f[nudge right=10mm], g[nudge left=25mm]},
c -- {f, h[nudge left=20mm]},
d -- {f, h},
e -- {g, h}
};
};
% Add manually parallel edge:
\draw ([xshift=2pt]e.south) -- ([xshift=2pt]h.north);
\end{tikzpicture}
\end{document}

Note
Local adjustments for head anchor
and tail anchor
as given in https://tex.stackexchange.com/a/287300/8917 do not work for me:
\graph [tree layout, grow'=right,
fresh nodes, level distance=0.5in,
sibling distance=0.1in]
{
4 -> {
3 -> { 1 -> { 5, " " }, 2,2 },
3 -> { 1, 2, 2 },
3 -> [head anchor=west]{ 1, 2, 2222}
}
};
Update: Workaround applied to more complicated example
%! TEX program = lualatex
\documentclass{article}
\usepackage{tikz}
\usepackage[graphics, active, tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\usetikzlibrary{graphs,graphdrawing}
\usegdlibrary{layered}
\usegdlibrary{more-crossing-algorithms}
% needs files 'more-crossing-algorithms.lua' and 'noCrossing.lua'
% from https://tex.stackexchange.com/a/180045/8917
\begin{document}
\begin{tikzpicture}
\graph[
layered layout,
no crossing minimization,
head anchor=north,
tail anchor=south,
level distance=1.5cm,
edges={bend left=0},
]{
% Determine layer and order manually
{ [same layer] 52 },
{ [same layer] 17, 34, 30, 33, 13, 14 },
{ [same layer] 3, 4, 7, 2 },
% Draw graph with edges disabled
{ [edge={draw=none}]
52 -- {
17 -- {3[nudge left=1.25cm], 4[nudge left=1.25cm]},
34 -- {3, 7[nudge left=0.25cm]},
30 -- {3, 7},
33 -- {4, 7},
13 -- {3, 7},
14 -- {4, 7, 2[nudge right=0.05cm]}
}};
};
% Add the 24 edges manually:
% Starting from 52
\draw ([xshift=-1pt]52.south) -- (17.north);
\draw ([xshift=-1pt]52.south) -- (34.north);
\draw ([xshift=-1pt]52.south) -- (30.north);
\draw ([xshift=-1pt]52.south) -- (33.north);
\draw ([xshift=-1pt]52.south) -- ([xshift=-1pt]13.north);
\draw ([xshift=+1pt]52.south) -- ([xshift=+1pt]13.north);
\draw ([xshift=+1pt]52.south) -- (14.north);
% Starting from 17
\draw ([xshift=-1pt]17.south) -- ([xshift=-1pt]3.north);
\draw ([xshift=+1pt]17.south) -- ([xshift=+1pt]3.north);
\draw ([xshift=+1pt]17.south) -- (4.north);
% Starting from 34
\draw ([xshift=-1pt]34.south) -- ([xshift=+1pt]3.north);
\draw ([xshift=-1pt]34.south) -- ([xshift=-3pt]7.north);
\draw ([xshift=+1pt]34.south) -- ([xshift=-1pt]7.north);
% Starting from 30
\draw ([xshift=-1pt]30.south) -- ([xshift=+1pt]3.north);
\draw ([xshift=-1pt]30.south) -- ([xshift=-1pt]7.north);
\draw ([xshift=+1pt]30.south) -- ([xshift=+1pt]7.north);
% Starting from 33
\draw ([xshift=-1pt]33.south) -- (4.north);
\draw ([xshift=-1pt]33.south) -- ([xshift=+1pt]7.north);
\draw ([xshift=+1pt]33.south) -- ([xshift=+3pt]7.north);
% Starting from 13
\draw (13.south) -- ([xshift=+1pt]3.north);
\draw (13.south) -- ([xshift=+3pt]7.north);
% Starting from 14
\draw (14.south) -- (4.north);
\draw (14.south) -- ([xshift=+3pt]7.north);
\draw (14.south) -- (2.north);
\end{tikzpicture}
\end{document}

This uses the answer from https://tex.stackexchange.com/a/180045/8917 to manually set the order of nodes in a layer.
A possible improvement would be to write a node placement algorithm which simply distributes the nodes evenly in a layer.