You pass in --no-daemon and --no-silent because Upstart works best if the program itself is run interactively, with output sent to stdout.
However, I don't recall if systemd is different...
If it works best run interactively, use --no-daemon.
If it reads output from stdout (which I believe it does), then use --no-silent.