How can I get both custom compose sequences and Unicode character entry?

Uim

First released in 2005, uim is a multilingual input method library with interfaces to GTK and QT, as well as anything that supports xim (and more). Looking at computers I have nearby, Arch Linux, NetBSD, and Ubuntu all offer uim packages through their default distribution channels, which (to me) indicates some measure of acceptance in the community at large.

An excerpt from my .xprofile shows how to set this up:

export GTK_IM_MODULE='uim'
export QT_IM_MODULE='uim'
uim-xim &
export XMODIFIERS='@im=uim'
# Start one of the input method switchers
uim-toolbar-gtk-systray &