Conor, would have answered earlier but I was traveling.
Nice work, I think you have it set up right. Hope it's working for you.
A couple of assumptions/notes....
1) The 4 fields are setup with SF workflows that populate the fields when the original field is populated or changed. NOT A CALCUALTED FIELD.
For example, if the renewal date is July 1, 2014, the workflow would make the start date + 90 October 1, 2014.
In most cases, it's not recommended to use SF calculated fields as that value only syncs back to Marketo if there is a change to the record. Marketo doesn't see a daily calculated date field change as a change of data since it's a calculation.
2) The field is at the Lead, Contact or Account level. If it's at an Opportunity level, different complexities get introduced since there can be multiple Opportunities within an account.
3) I use TODAY but the Past 1 day should work just fine. You may also want to set the schedule so the lead qualifies to a limited time frame (like once a week or month). This is just a backup to help prevent double mailings in case some funky thing happens with your data.
Good luck.