Because I need to rely on iperf to be running on both ends, I ended up using monit.
"Monit can start a process if it does not run, restart a process if it does not respond and stop a process if it uses too much resources."Greg from the brain dive was kind enough to post the steps to set up iperf and monit on CentOS here. These steps almost led me to success, I had to do a few extra steps to make it work:
chmod +x /etc/init.d/iperfd
add "set daemon 60" to /etc/monit.conf
I found monit a bit weird to debug, because it doesn't write anything to it's logfile. So to find out why it's dying, I ran it in foreground with "monit -vI" which gives nice diagnostic output.