Earlier quoted context omitted.
My country uses the QWERTZ layout which has dedicated keys for German umlauts. I mostly type in English however, so I've bound "([{" to "öäü". I now type umlauts using "AltGr+oau". It's definitely not a perfect solution, but it has worked well for me so far.
Dutch uses standard QWERTY, but does accents and tremas automatically if you type a letter that can have an accent/trema after you type a single or double quote, or a tilde. It's extremely annoying when programming. US International keyboard layout does this to in Windows. It seems the only type of keyboard that doesn't do it is the standard US keyboard, but that one doesn't have a Euro sign. I'd like to have a board…
As a bonus, you can actually configure your own sequences for letters that you need often. For example, I have Compose ,s,h bound to ¯\\_(ツ)_/¯, Compose,g, bound to produce Greek characters, and Compose,t,q bound to my username.
XCompose is available on Linux using `setxkbmap -option compose:ralt`, on Windows using WinCompose, and there's probably a way to do it on OSX but I refuse to support that particular company on moral grounds so you're on your own.