If you have daemons that keep falling over and needing restart, you're already at the hack stage.
What do you mean IF, it just happens from time to time for a variety of reasons. This is an incredibly basic problem in multiprocess systems.
It's like saying IF your computer crashes and needs to be restarted... in a datacenter, it's a matter of WHEN.
In both cases, absent an expected, non-rectified reason for them to crash, the immediate action for a human operator is... try restarting it.
If the dependancies are programmatically declared (a Good Thing in itself), we can automate this. It's not a hack, because machines are NEVER perfect. The "recoverable" error rate adds up when you tie bunches of them together. So does the "non-recoverable" rate... so why not do what we can to address it? This is why we put things like Xeons and ECC memory in data centers, it's the only way to scale out the number of machines, and ultimately processes.