What I do is I craft a macro with all of my CCs on it. I have it switch between them depending on which modifier keys I'm holding or which mouse button I click it with.
For example, I have this on my shaman.
Code:
/cast [mod,@focus,harm,nodead][mod] Bind Elemental; [@focus,harm,nodead][] Hex
I expect to use Hex more than Bind Elemental, so it casts Hex when no modifier is held and Bind Elemental when any of them are held.
Here's a similar macro for druids:
Code:
/cast [mod:shift,@focus,harm,nodead][mod:shift] Hibernate; [mod] Nature's Grasp; [@focus,harm,nodead][] Entangling Roots
This has another modification to cast Nature's Grasp when a modifier that isn't shift is held (ctrol/alt). It casts Hibernate when shift is held and Entangling Roots when no modifier is held.