Olhando os logs em /var/log/boot.log
(localização fornecida por Letizia), encontrei uma linha muito suspeita:
/etc/rc2.d/S80noderoot: 16: /etc/rc2.d/S80noderoot: forever: not found
O comando não encontrado é apontado como um problema com o caminho. Com certeza, as linhas
export PATH=$PATH:/usr/bin
export NODE_PATH=$NODE_PATH:/home/azureuser/npm/bin
foram invertidos. Alternar essas variáveis para apontar para os diretórios corretos, bem como adicionar um cd
ao script antes de executar forever
parece ter resolvido todos os problemas que o script de execução estava tendo.