É possível escrevê-los de uma maneira que não dependa dos detalhes específicos da distribuição, mas nem todos os serviços de inicialização * nix da mesma maneira. Não tenho certeza sobre o AIX, mas o Solaris, por exemplo, nem usa o sysvinit, mas usa o smf.
O CentOS / RHEL normalmente usa o /etc/rc.d/functions para auxiliar nas funções comuns do script init, enquanto o Debian usa um binário chamado daemon start-stop. Esse é provavelmente um dos motivos pelos quais os scripts init geralmente não são encontrados nos pacotes upstream.
Pessoalmente, eu iria escrever um script de inicialização para cada sistema operacional suportado, para ser incluído no pacote do sistema operacional.