I've had a lot of sucess using a key in redis with a TTL value instead of a local PID file. Although adding redis to the picture adds a large new point of failure, I can then have a cronjob set up on multiple instances and still ensure it only runs once across all of them.
I'm sure there is a simpler way of doing this, how have other people solved redundantly ensuring a single cronjob runs?