Well, since I had quite a few requests for it, I went ahead and implemented a recurring system. It's not 100% perfect, but it's pretty close and it gets the job done.
How does it work?
And this is precisely the reason I say it's not perfect: it postpones the event if its date is today and the notification has fired, or its date is yesterday or older. If you have a recurring event for which you set no reminder, or you set a reminder to fire just once (a week ahead, for example), you will have to manually open the app again after the event expires, or manually postpone the event. Also, the event is postponed as soon as you open the app, not after the event reaches 'expired' status; this is done so you don't have to open the app again the next day.
On the other hand, it's not a huge inconvenience, since you would have to open the app the day of the event (or after) to clear the badge anyway, so this is why I said it's pretty close to perfect. But since automatic recurring might not be to everyone's liking, you can turn it off in Settings and postpone your events manually by tapping the repeat button. In both cases, it's much, much faster than before.
This is a pretty good outcome, given the limitations explained here about recurring events; otherwise I would have had to remove the "weekly/daily/hourly" reminders, something which I don't really want to do.
This is how it looks like: