Para daemonizar um processo para o Debian corretamente, você precisará executar várias etapas, incluindo segregar o processo de controle, redefinir o IO e criar um arquivo de id do processo para ser executado de maneira agradável. Você pode usar algo como o programa daemon do pacote com o mesmo nome para fazer isso para você. Se é isso que você queria fazer, a resposta pode ser encontrada aqui no StackOverflow: link
O comando upstart é mais parecido com o comando invoke-rc.d do Debian ou com o comando service do pacote sysvinit-utils. Eles esperam trabalhar com scripts init em /etc/init.d. É padrão no Debian criar um daqueles para o seu pacote e fazer com que ele use o programa start-stop-daemon como você pode ver no exemplo /etc/init.d/skeleton.
O fato de você criar um script /etc/init.d/myservice não significa que ele precise ser iniciado automaticamente. Você pode ajustar os runlevels nos quais ele para e inicia automaticamente usando uma ferramenta como update-rc.d. Isso é descrito com mais detalhes em Desabilitar um serviço de iniciar em todos os runlevels?