Everyone seems to have their own way of organizing their IM contacts, or "buddies". Here's mine.
First of all, most of my contacts are still on ICQ. I've always kept two ICQ accounts: one at home and another one at work. If nothing else, that has let me classify contacts as strictly work, and not have those punks bother me at home. Pretty much for the same reason I wouldn't easily give my cell phone number to clients I knew wouldn't respect my privacy if I did. These days, though, I push people over to GTalk whenever I can, mostly because that makes my chat logs searchable within GMail. I'm a complete sucker for logs.
I use a very simple system of four groups:
The first three are simple enough. People I often have contact with go in the "often" group. It is not a very strict definition, though. Some of the people in the "often" group are almost always online, other almost never (but when they are, I want to know about it). I guess you could say the group names indicate how often I care where the people in a certain group are online or not.
The "rarely" group is always collapsed, unless I'm specifically keeping an eye out for or chatting with someone in it. "Sometimes" is sometimes opened, sometimes collapsed. "Often" is always open.
Moving People Around
If someone has started to drift off my radar, I might move them to a lower group. Sometimes people get bumped up to a higher one. New contacts generally go in "sometimes", and earn their karma over time.
The Mythical Neverland
I used to have a "never" group as well, but then it dawned on me how magnificently pointless that was, so I deleted it along with all contacts in it. I haven't missed a single one of them. (In fact, I couldn't tell you who was in it even if I tried.)
My Best Friend is Me
The fourth group is mostly a trace of my retentive traits. It contains me, me, me and me. For every account (ICQ, GTalk, MSN, Yahoo) I have, I've got myself as a contact. Not extremely useful, but it helps me notice network feilures sometimes, so I'll stick with it. And I am my own buddy, so why not?
This works like a charm for me. It might be not-so-great if you have hundreds of contacts (I have about 50, of which 5-20 are usually online at any given time). On the other hand, if you do have hundreds of contacts, it might be time to clean some of them out. If you employ this system, I can recommend keeping that "never" group for a while. Just go through your groups now and then, move people around as they deserve it, and empty the "never" group when you're done. You'll be glad you did.