What does "proper software" have to do with systemd? Sometimes upstream provides unit files but normally it's on the packager to provide the integration into your distro.
I've seen some software depend on libsystemd for the sd_notify but I think after the whole security kerfuffle there won't be many of those anymore.
"But it is just harder to learn how to write proper software that would work on a machine slightly different than my own"...