The debate on systemd often turns into systemd vs. sysvinit because sysvinit is the working alternative right now. Unfortunately, this is a poor way to frame the debate. The reality is sytemd unit files are a really good idea, but systemd's hardware detection leaves much to be desired.
You're going to get stuck with a lot of debates and really stupid support issues if you try to force systemd, because the hardware detection frequently outsmarts itself. Thus I filed an issue with systemd to separate out the early boot from the rest of systemd so that component can be replaced independently on deployed systems. No, I don't think they're actually willing to do it, but it would squash most/all of the real issues. https://github.com/systemd/systemd/issues/14058

