A package for an MTA (for example) will have to know how to start
itself up. You're left with the following options:
1. Rework the MTA to startup with your own method
2. Have the package maintainer somehow allow both such as...
3. Post to the AUR (or whatever) another version of the same
package that uses the alternate startup system.
That's why a declarative service config files help.
An alternative init system could just read the "systemd" ini files and
do whatever it thinks it can do better.
--
дамјан