IMO the initial problem here is your sync delay. Although clients with larger instances (in the millions of records) can experience lags, 4 hours is way longer and there are likely some things you could do in the short-term to fix the lag. Low-value but high volume smart campaigns like opens emails, or visits webpages can really wreak havoc on a system and provide little value to anyone. We just recently helped someone that was experiencing day long delays in their instance everytime they sent out an email blast to be able to use Marketo as it was intended again.
So - before making a work around for one issue, I would start at the root cause.
SFDC lead assignment is more powerful than Marketo's, so if its not working it was either not setup correctly in SFDC or SFDC is not getting the data it needs to assign properly. This is very possible. Given you are assigning based on country, I would consider setting up some data management programs based on the inferred state/country if state/country is empty. This will ensure you at least have the data and the assignment should work.
Anyways, there are a couple of tips. Hope that helps.