In my experience, the recipe for having meetings interface smoothly with the time that surrounds them is twofold:
1. Constrain the meeting duration to a slighly smaller blocks than natural time.
2. Be diligent and efficient in managing time within the meeting.
That means, for 60 minutes of natural time, 50 minutes of meetings.
You start on time, you end on time.
The first few minutes are for pleasantries (important!) and getting everyone focused on the topic and goals of the meeting. This gives people the possibility of running slightly late without missing anything too important, but they still come into an ongoing meeting and are noticeably late.
But: you quickly move on to the meat of the meeting, even if people are still missing, and keep things moving while having an eye on time. (Sometimes, you can even start without key people there and at least get everyone else synced and thinking about the topic.)
Once you get close to the end (that is, 40 out of 50 minutes of runtime for an "hour"-long meeting, but depending on subject and people), you make sure to come to a conclusion and wrap things up by the 50 minute mark. If it's clear that's not enough time, you move to wrapping things up enough and discuss how you will keep the discussion going after the meeting time runs out. In any case, you have some time for parting pleasantries, while the meeing is officially over on time and people are free to leave.
This leaves a bit of slack, while people expect to start and end on time, and it crucially gives everybody enough time to move between meetings with some breaks, even those unfortunate folks whose jobs consist of lots of back-to-back meetings.
Starting on the (half) hour and ending after 50 (25) minutes works well, in my experience, and syncs well with the calendars of external meeting participants.
I know this works, because I have been in meetings like this, and I have run meetings like this. Of course, this will not work in 100% of all meetings, but it can go a long way in making a lot of them much better.