systemd is written in C. Terse, poorly commented C. The non-type-safe language with an abysmal history of buffer overflows, by a team of muppets responsible for some of the most bug-ridden, garbage the Linux world has ever seen included in a major distribution (Pulse Audio).
Excuse me if my confidence is not there.
Init scripts, be they BSD style or sysV style can be easily customized, extended, replaced or de-bugged by anyone with a modicum of shell scripting experience. They have not proven to be a cross-platform compatibility problem, as systemd has already.
In 20 years of dealing with plain text unix log files, I am yet to have corruption in them, certainly not to the point where I could not view the logs at least partially.
The fact that these logs are getting corrupted most likely IS due to systemd, the developers simply don't give a fuck. "Assuming the corruption came from another source" is exactly the problem.
Also, what do you do if files are corrupted? You attempt to at least retrieve partial contents. Log files contain valuable information. Or we would not bother logging it!
And you think re-writing from scratch will produce less bugs? Common rookie mistake. Everyone thinks if only they could re-write they could make something better and less buggy off the bat. That is, in the vast majority of cases due to not fully understanding the problem.
Software gets complex due to fixing edge case bugs as they are discovered. Throwing all of that development away, unless you have a fucking good reason is a bad idea.
I've yet to see any "fucking good reason" for systemd doing the things it does. And definitely no way to force it on everyone as default.