1). It is monolithic beyond any excuse. It incorporates around 120 binaries and it handles *everything*, far exceeding what an init system should do. This includes power management, disk encryption, mount point handling, device insertion/removal and countless other things. Thus it gruesomely violates the Unix philosophy.
2). Journal data is stored in a binary format.
3). It breaks compatibility with non-Linux systems due to relying on dozens of Linux-specific features, thus essentially locking the Linux ecosystem into a cage and leaving out everyone else. Frankly this is repugnant, chauvinistic and is a stab in the back to the whole community aspect of free and open source software.
4). It forces certain dependencies on you like udev and dbus. The latter two programs are now deeply coupled with systemd, so if they ever fail, your system goes down and debugging it will be a total bitch. Hope you don't have any USB issues.
4.1) In addition, systemd's sheer mammoth size and scope makes it a single point of failure and a huge attack surface. I expect to see a rise of Linux exploitation and malware in its wake. Perhaps not, but it's still going to be a juicy target. It's already had quite a few CVEs, IIRC.
5). It is overtaking Linux like a plague. Distros are adopting it left and right without thinking of the consequences or holding any meaningful debate, leading to a dominance which will eventually force every distro maintainer to succumb and adopt systemd or vanish into obscurity.
5.1). In extension to the last point, systemd is toxically starting to become a dependency in everything. For instance, new versions of GNOME now rely on systemd to work, breaking compatibility with *BSD and other Unixes. Due to how deeply ingrained systemd is (it's practically a second kernel), more packages will follow and we will likely see a rift in how FOSS works. The days of software being relatively easily interoperable between all Unix-like systems will be gone, and lots of software will become Linux-exclusive due to relying on systemd.
6). Most critically: systemd clusters everything into PID 1. This is where daemon processes get orphaned, however it's also the root PID, which, if it goes down, crashes the entire system along with it. Since systemd tries to make use of it as much as possible, besides also being a single point of failures, it necessitates rebooting to apply non-kernel updates.
That is simply inexcusable and atrocious on a fucking Unix-like operating system. I might as well switch to Windows.
Now, granted, systemd does offer a mechanism where it reserializes its state and goes on uninterrupted. However, as a result of the PID 1 dilemma, if the mechanism fails, instead of the process simply failing, THE WHOLE SYSTEM GOES DOWN. And trust me, there's many ways it can fail even with the security checks that the systemd API offers.
7). Due to all the dependencies, scope and rigorous methodology that it imposes, distro maintainers are pretty much forced to use certain packages over others if they don't want any other headaches on top of those systemd gladly gives you out of the box.
8. (fucking emoticon breaking my consistency)
systemd doesn't have shell scripts, it has unit files. You can't call shell scripts directly, you have to put them in a service and enable them from systemctl. On the flip side, this makes extensibility much harder. You can't just write a shell script and quickly hack in any functionality you want. You have to deal with all the complexity that systemd inherently provides. What's more is that it has completely removed shell scripts from the boot process and turned everything to C code. If a startup procedure goes wrong, you now have to debug and recompile C code on a core system. Fun, isn't it?
9). systemd versions are tightly welded to specific kernel versions due to how many Linux-specific features it uses (abuses?) for whatever purpose.
10). It gives you no choice. The fundamental nature of systemd is that it completely takes over and revamps the way your system functions from the groundup. Like I said, it's pretty much akin to a second kernel. It forces you to work in certain ways and it breaks compatibility with tons of software. It's parasitic, and not adopting it will leave you at a complete disadvantage in the ecosystem, so virtually all distro maintainers will need to make the move eventually.
If systemd becomes unavoidable, which it looks like it is... Arch, Gentoo, Fedora, Ubuntu, Debian, openSUSE and others have already sold out. In that event, the moment no up-to-date distro remains without systemd, I'm leaving behind Linux once and for all and migrating to BSD permanently.
On the other hand, if there is a significant resistance and non-systemd distros start popping up, I might stay. Linux is getting too commercialized for its own good. It's no longer a grassroots effort, it's a corporate platform. You can't deny this.