Switch rendering engine depending on render layer? Can I somehow link the choice of render engine to the render layer?

I want to composite cycles and freestyle.
The render layers which I use in the compositor as inputs should 'know' which render engine they are supposed to use.  Maybe there is some python renderlayer-initialization-hook which I can leverage?

I do not like the workaround of creating three scenes, as maintenance overhead does not scale well. (or I'm doing it wrong?)
You should use different scenes for each renderer. On the top toolbar next to where you select your render engine you can find to the left the scenes. Add a new scene and switch to the appropriate render engine.

1.

Rename the current scene to the render engine's name

2.

Create a Link Object Data copy of the current scene



3.

Rename it the other render engine and selected the render engine from the drop down to the right.