How Do You Prevent Delays in Your Projects?
Prevent? You can't!
But you might be able to minimise the number and their effects
You nailed it! You can not indeed. It is more about how you handle it.
Many, "delays", are predictable and can be brought to light at the beginning of a project. I'm no longer surprised by the ignorance of clients in regards to the weather, I'll remind them hurricanes in NC are real and could substantially impact survey schedules. Employees get sick, have to take care of sick family members, or have something else happen in their lives that keep them out of production mode. Similar to the 1.15 contingency factor (or intolerable optimist equalizer) I apply to any cost estimate, I will force myself to push the proposed completion day back. It's not difficult, just take the time to review a cross section of your projects and compare your estimated completion dates to your actual completion dates and apply the differences to projects of similar scope and size.
I'm sure I've lost jobs by pushing my proposed completion dates back, but upfront communication generally offsets this and shows good clients that you respect their schedules.