Проблему решил. Пришлось хорошенько маны почитать. Фокус был в том, что мой сервис запускался через шелл скрипт, который после этого выходил и всё, upstart думал, что работа окончена, прибивал приложение. Теперь же Я подставил вместо шелл скрипта сразу исполняемый python модуль с вечным циклом, и теперь всё работает как часы.