I think you should check out mcron, which is basically cron redone but in GNU guile (scheme) with more features. I think it fails some of your requirements (the syntax can be a bit more to wrap ones head around than standard cron), but it is powerful and seems promising.
https://www.gnu.org/software/mcron/manual/mcron.html#Introdu...