I had the same problem, with Solarized it happens. If you use tmux, you can hotkey assign two different profiles which are the same except for their hotkeys and color preset.
The important arguments to tmux new-session are -A -D and the consistent -s <session name>. I use this pattern for most of my profiles. The -D causes the previous session to detach and the -A causes new-session to attach to the existing session if it exists, instead of creating a new one. Effectively, it creates a toggle behaviour between the two profiles.
I tag each profile with 'light' and 'dark' respectively too... and I include the hotkey to which the profile is bound.