It looks to me many complains about systemd is from people who wish to manage systems as if it was still 1970 and nothing changed in the past forty years.
Most of the criticism of systemd that I see are from people who would like their systems to work and not have key things broken for them by a bit of SW that has decided to shutdown some key service because it feels like it. The Unix approach of doing one thing and doing it well has proved useful for 40 something years because it appears to be the best way of doing things. It's like writing SW using functions rather than trying to put all your code in one place and using goto's. There are many good ideas incorporated into systemd, but they would still be massively better if they were separated out into a series of individual bits that did what they were supposed to do and did that job well.