rc.local
não faz muito além de executar seu código.
Um benefício para systemd
é que ele tem uma opção para reiniciar seu código se ele falhar, o que rc.local
não faz.
Portanto, se você não puder impedir que seu código falhe da mesma maneira novamente, talvez você possa projetar para que, pelo menos, tenha uma chance de funcionar corretamente se ele for reiniciado após tal falha.