I need an algorithm for the automatic layout of BPMN2 diagrams.
Something like the auto layout (re-layout) of MS Visio.
Is there no similar OpenSource or comprehensive guidance?
That's a very specific (and non-trivial) layout you are looking for. There aren't many good implementation out there at all. A good -but commercial- implementation certainly is yFiles - BPMN Demo - IMHO easily beats the layout of Visio from your sample link.
With regards to open source, you should be looking at a more generic layout style, probably, since BPMN really is a sophisticated corner-case of orthogonal flow layouts. Maybe Kieler, GraphViz - dot or WebCola can be tweaked to work well enough for you for BPMN diagrams - but there is definitely a lot work left to do if you want to support all the sophisticated layout rules and options.