HipChat uses XMPP, so you can already use it with Adium/Pidgin without much trouble. The only things that are really missing by default are the syntactic sugar for @-mentioning people, HipChat's custom emoticons, and inlining of image/link previews (many of which you can fix with already-existing plugins).
You don't need to identify as "bot", just send a keepalive message (can be a single space, XMPP ping, whatever) every 60 seconds or so. You can also request no history when joining rooms (most bot frameworks do this). It's part of the XMPP spec as well. Our roster pushes are also as in the spec, or have you found an oddity we should correct?
Joining a room with your full name can be an unexpected requirement but it really aligns with the way we enforce names on our service.