It's a bit difficult to visualize, but I think I may have done something similar, before. Ultimately, I found that it was better to do it all in one engagement program and simply manage the streams like you would your batch triggers. The assumption here is that your "irregular send times" could be a set time, but a variable day (i.e. any day at x time).
My thought: each email has its own stream. You initially load everyone into Stream A that sends Content A. Then, when something happens that should trigger B/C/D, instead of adding them to a batch schedule, you trigger their stream to change to Stream B/C/D which are set to run daily, meaning they'll get Content B at the next cast. (This will also suppress them from receiving other content in other streams, because you can only be in one stream at a time -- solving the Pause/Overlap issue).
Once Stream B/C/D is exhausted you can either move them back to Stream A or even to Stream Z that represents a Purchase at the appropriate time.
Hope that makes sense?
... View more