I just set something up for a colleague in South East Asia, which might help you too. All her leads are in the default Engagement Programs with a weekly cast. But I have a batch campaign that runs every day, and leads can only go through it once per month. The batch campaign sets Marketing Suspended to False, waits 1 week, sets Marketing Suspended to True.
The effect is that leads statr the flow on a daily basis, so everything is spread out over all 30 days of the month. And the spread of the allowed week is also spread over the entire month. And the process restarts every month at the exact spread of a small group of leads. So that even better than the 25% previously workded on.
The downside of this technique is that all these leads can't be emailed for 3 out of the 4 weeks in a month. If this is a problem, you could temporary reset the Marketing Suspended in the flow of the campaign you want to run. And set it back at the end of that flow.