App Engine has this problem too. The solution is to run a cronjob somewhere (App Engine has cron built in, so I've used that in the past) that hits your frontend every ~10 minutes or so. Instances never go stale, and on App Engine, you get 28 instance hours/day for free, so you can stay under the free quota as well.
On Heroku, you don't even need to manually run a cronjob or set up something that feels like you're consciously trying to game the system. If you sign up for the free tier of NewRelic that Heroku offers, it'll automatically ping your dyno often enough to prevent it being spun down.