On both Windows and Linux, I've liked the "US international" keyboard layout as an alternate when I need to type letters with diacritical marks. In that layout, " ' ~ ` ^ are all dead keys, which modify the next letter typed. In addition, the right Alt key (usually Alt Gr on non-US keyboards) can be used to quickly type some commonly-used letters.
On Linux there is also a "US alternate international" layout with some extra dead keys to make it easier to do things like š or ž (Ctrl-RightAlt-< followed by s or z, respectively).
On Linux there is also a "US alternate international" layout with some extra dead keys to make it easier to do things like š or ž (Ctrl-RightAlt-< followed by s or z, respectively).