Don't wait to have a hackathon
Don't use them as a way to stimulate somnambulistic employees, use them as a periodic way to break a team away from the pressures of your normal schedule. We try to have a couple of 2 day hackathons during the year.
Hackathons I organized have been very productive, and everyone understands that you're not going to get a diamond every time. A little light hearted competition is a bonus, it's all about how you lead your team.