Regarding the latest systemd battle, I have decided to start moving away from init scripts on servers. However, I'm not yet ready to install systemd on my production machines yet.
I'll be using Supervisord for now. It is an excellent replacement for init scripts that run various daemons on a server. Supervisor does not replace init. It is not even designed for that. It will be started and stopped by your current (sysv) init. It means that now I can write a simple configuration file, like this:
[program:mydaemon] command=/path/to/command -options directory=/path/to/working/directory user=www-data
and have my configuration loaded by
supervisorctl update. I also use supervisor for dockers where it is the recommended solution for running multiple daemons in a container.