It's a pretty easy to get this behaivor using ubuntu - I just enable keyborard layout switching by Caps Lock and Shift+Caps Lock automatically become Caps Lock switcher. When using elementary I try this:
gsettings set org.pantheon.desktop.gala.keybindings switch-input-source "['Caps_Lock']"
and then Caps Lock both enables Caps Lock and switches keyboard layout.