I don't write in ALL CAPS, but I do have to type code where some constant like SERVER_RETRY_TIMEOUT will be in all caps. So I do use my caps lock key a lot.
Maybe I'd use a "shift lock" that's cancelable by holding shift, but since I've recently mapped Caps Lock to Esc and want to keep that, I guess I'd have to make the Esc key into shift lock. Esc is kind of distant, but maybe worth it to avoid RSI typing 10+ character-long sequences holding shift the whole time...