Are you sure the server should send the message to all resources? It's been ages since I read the spec for this, but I'm sure I remember there being some quite complicated rules for selecting one (and only one) resource when delivering messages to a bare JID, which factored in resource priorities, away statuses and so forth.
However, it has to be said that I think the approach of sending the initial message to everyone and letting the user choose is the best one. I'm terrible for accidentally leaving my clients in away or available status when it's not true. For example, my work client is marked available right now even though I'm at home, because I neglected to configure it to auto-away when I wander off…
I think using a separate username is the right approach if the bot is conceptually an entity of its own. The resource might be the right approach if the bot is conceptually “you”, like if you've got a bot that acts as an auto-responder, or a logger, or something.
For my “crazy theoretical” LJ-Jabber stuff I'm saying that email@example.com represents me the person and firstname.lastname@example.org represents my journal, the latter of which is a bot of sorts. Then email@example.com can be — all at the same time — a MUC room, a pubsub node and a message-based posting gateway, but firstname.lastname@example.org doesn't do anything crazy and is just a person to chat to.