You could even write a cron job to clean up the crontab
Just use Jenkins, until you outgrow Jenkins. Then use a distributed scheduler.
We recently had to implement a prototype in house, not that easy as I thought it would be, but we could not find a good solution, e.g. handle 100k jobs, long term (never expiring), short term (depends on an entity's live cycle), high available.
Thanks.