Here's what I do -- I schedule fake meetings when I don't want to be bothered. People see the time as "occupied" and don't request meetings at that time.
Lately, people I work with have become fans of the 5:30AM meeting. Perhaps they don't realize that I'm not in Singapore and, hence, am not at work at that time. Either way, I just beat them to it and schedule a meeting ("sleeping") at that time. Then they see it and pick some other more reasonable time.
My boss and I do this regularly. It makes it very simple to dictate early morning, late night meetings and leave a good gap for coding/working time during the day when we feel we want to do it. Usually we just schedule meetings with each other and if anyone asks either of us, we know we are busy.
I have started to put my work in my diary, particularly when I need to focus completely. People look in my diary and if I have a meeting-free day, they assume that I will be at my desk with my feet up waiting for some work. The office culture has changed so much; I remember being bothered once a week by the project manager asking for updates on the plan; nowadays its every hour that somebody is bothering me for something. Anyway, I've started declining meetings, particularly last minute meeting requests submitted under the guise of being 'urgent' meaning 'I forgot to book this meeting weeks ago'. A good tip from me if you use Outlook: mark time you block in your diary as Personal so that others cannot see a description of the item when scheduling meetings; and will therefore not attempt to book the time in your diary. Also, book an hour in your diary for lunch and mark that as 'out of office' to prevent those sad people who book lunch time meetings.
Thomas Limoncelli's book "Time Management for System Administrators" covered how to deal with all your "customers" years ago. There's some google videos of presentations regarding the book material, and its very relavant to this subject. The mutual interruption field, how to deal with users/managers/vp's/etc, how to come off as cool as possible -- it's all in there. I don't agree with this methodologies for keeping time, but the book is still full of gold.
Chit-chat: having everyone in the room wait for two people to talk to eachother about one project.
Not getting in, done and out: Discovering what you are trying to figure out in the meeting rather than before the meeting.
Diving too deep: The minute you start discussing the particulars of implementation then your wasting everyones time.
Going off topic: Don't lose focus of the clear objective of the meeting, going off topic? have the people interested in the other topic meet after the meeting ends.
Going over time: not using an egg timer for your meeting, going over the allotted minutes assigned for the meeting.
Meeting too often: Meetings should be used where other contact methods are inadequate.
Indulging long winded participants: Every group has one, a person who waxes eloquent and loves to hear themselves speak. Use Neo's "stop" arm gesture while saying STOP and say we need to move on/hear from others/not give a lecture. This won't work, so assign this person an egg timer and when they start talking, set it for a certain number of minutes.
I really need to get out of the cube.