While I would love to direct this post to all of the horrible guests that wait until the last minute to reply or (gasp) never do reply, there are a few things that make this a two sided street. Yes it is awful for guests to skip the RSVP, but they way you go about collecting the missing ones says a lot about you as well.
As a guest to an event, try to remember that it is an honor to be invited and to get a night out on someone else's dime. The most courteous thing to do is to reply on a timely manner and to bring a hostess gift or gift for the appropriate party (i.e. wedding couple, birthday person, etc).
If an RSVP card is not included, the first thing to do is to write a short note and mail it. If not available, call them personally and thank them for the invitation and state your ability to attend or not.
As a host, try to always give the benefit of the doubt. Their invitation could have been lost in the mail, a spouse received it and forgot to notify the other, it was accidentally thrown out... and so on. Your first attempt to see if they are coming should always be a phone call. Not an email, a Facebook mass message, or a text. A phone call, and a phone call from YOU.
Simply inquire if they have received your invitation and if they will be able to attend. Never mention anything about their lateness, your growing guest list, or your budget. This might sound obvious but with the growing number of missing RSVPs it is easy to get annoyed and blame the tight budget and too large of crowd for your harshness. This only makes your guest feel less invited and uncomfortable with bothering you by coming. You want them there!
If you can't reach them by phone after attempting at least twice, email is acceptable, but only to them directly, not as a mass message. Graciously explain that for catering and seating arrangement purposes it would be wonderful to know a final guest count and that you hope they can be a part of the day.
hint hint... The more fun your RSVP card is the more guests will use it. Just sayin'.