The use of non-executing service definition files isn't really the problem with systemd - it's one of the parts I actually like.
The problem is more about the project itself. The scope keeps creeping to consume more and more things. The developers have a "we know better, do it this way, your argument is irrelevant" type attitude to outsiders.
Indeed your last argument is my beef with systemd as well. I describe it as:
"Systemd is great! But it's an inconsiderate piece of software!"
Meaning it work nice, it does it's job it does it fast. But if you want to things your way, or want to run something not-systemd standard, you are in for some fun.
The problem is more about the project itself. The scope keeps creeping to consume more and more things. The developers have a "we know better, do it this way, your argument is irrelevant" type attitude to outsiders.