I actually find dead keys quite practical. MacOS uses those, and it allows me to easily type French on a US keyboard. This also allows you to easily type other symbols, like •, º, etc. Maybe not everything, but it's fine for my needs.
I've spent quite some time to figure how to make Linux do the same. Turns out it's rather easy: just set the layout to macintosh, and remap some key to "level 3 shift".
I've actually went all in on the mac layout, so I've remapped the win (left) and menu (right) keys to this, so it's in the same spot as on the mac, which helps with muscle memory. Since caps is useless anyway, I've moved super there.
Now this is a bit more involved on Windows, but it's doable. There is a "macintosh" layout available on github, and it's possible to remap the keys using the registry as on Linux.