systemd does have one problem that also existed before: sometimes services come with buggy unit files (or copy/pasted from something else and modified), similar to how there were all kinds of buggy scripts before. Unit files are much simpler than scripts and it should be easier to get right but when the author sometimes doesn't consider dependencies or test fail scenarios...