There's also quassel which solves the problem a bit like a bouncer but it's way more integrated, it just loads the scrollback on demand instead of just banging the latest 200 lines into my buffer when I connect. Solves the problem perfectly IMO and there's a really excellent android client.
It's still not server-side history, though - you can't join a channel and see what happened before you joined, or edit a message you've already sent. It's just a slightly cleaner implementation of an IRC bouncer.