Geralmente, o arquivo PID é manipulado pelo próprio script de inicialização. Se é o script python que limpa, você deve incluir esse código também ...
Tem certeza de que é o arquivo pid antigo, e não o recém-criado, e que o daemon está travando na inicialização? Recomenda-se que o / tmp seja apagado durante uma inicialização de acordo com o Padrão de Hierarquia do Sistema de Arquivos, consulte esta seção desse documento - não tenho certeza se isso acontece no CentOS ou não, eu achei que sim.
Atualização: O tmpwatch é chamado pelo cron (no dia a dia) e limpa / tmp periodicamente com base no atime (padrão), então realmente você deve colocá-los em / var / run, ou eles podem ser excluídos de você.
Então, eu começaria movendo o arquivo pid para / var / run e colocaria o trabalho de limpá-lo no script de inicialização e partir daí.