The way i solved this way back when, was by having a script that ran every minute from cron. This script then checked to make sure everything i wanted to run was in fact running, and started it if it wasn't.
I probably wouldn't consider this "the best way", but it worked.