I need something to trigger, exactly 93 days after last shipment. It cannot be a wait step.
This is not possible.
The solution is to trigger it immediately on last shipment and start a flow with a wait 93 days.
Every thing else you will be doing in Marketo will boil down to this anyway.
Can you explain why you don't want to use a wait step? Maybe we can come up with a work around?
You may want to look at how others have handled Expiration Date and Renewal Reminder flows. Most require a wait step along with a Date Token and Date field.
Perhaps you should examine how the Wait Step options work because that's the only real way to do this in Marketo. Alternatively, you could run this in SFDC with Apex code and trigger a value in Marketo to do what you want.