Well, to be fair this article touches exactly that and solution is - use flock command before your cronjob, hardly a ton of boilerplate.
Let's not go there shall we.
Yes I know about flock, that's what I used.
But if you are writing code correctly, you still end up with boilerplate. For a start, you need to write extra code to check the error status returned from flock.
And then there's the overall point I was making. My "ton of boilerplate" referred to the overall boilerplate, i.e. flock was just one element, so then consider all the other boilerplate that was required to do all the other stuff that systemd does out of the box.
Frankly, its a no-brainer. Systemd wins every time.