You can adapt most of the western layouts to at least get "[]{}" in easily accessible places, but for instance trying to adapt a German layout can get really confusing. Have a look at this typical German layout:
https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/KB...
So we can remap "{}[]" to somewhere next to the enter key, ideally by moving the "+" key to the upper row. We also want to remap "|" and probably "<>" somewhere next to the enter key, because typing those a lot also gets awkward in their former spot. You could compensate by the entire bottom letter row to the left, arriving at something close to US-ANSI.
Needless to say, that's going to get really confusing. I'm a touch typist, but if I'd already have trouble, I don't want to imagine what that's going to be like for someone who is not.
Personally I just use an ANSI-US layout keyboard with a few custom shortcuts for typing ä, ö and ü. I can get away with this because I don't need to write a lot of German text.
For someone who has to switch between layouts to be efficient in both writing German text and code, it's probably better to use physically different keyboards so it's easier to build muscle memory.
Except on a mac, because for some reason the mac layout is totally different, which is why I need to use a key remapper on my work computer.
You can write the characters using digraphs.
For example, type <"> and then <a> to get <ä>. Type <"> and then <space> to get <">.
This won't work for other alphabets, of course.
Not sure what CJKV users do.
Chinese: the physical layout is always ANSI US. Depending on the IME you might want more than roman characters printed on keycaps, but it's just cosmetic if you can touch-type.
Japanese: most keyboards use the JIS layout and visually support multiple IME, but if you stick to romaji, using an ANSI US keyboard works too.
Korean: the physical layout is ANSI US (sometimes with 2 extra modifiers). Hangul is a proper alphabet, symbols are made up of subcomponents (jamo) that are printed on the keys. Again it's just cosmetic.
In my experience, people of my generation (30-40 years old) who are educated know to touch-type. For instance I've never met a Taiwanese that needed to look at the Zhuyin symbols on a keyboard.
But I've heard that's not the case anymore with kids that grew up using smartphones.
What I like about using US Intl (I've modified it slightly) is that no switching is required, I can conveniently enter both the programming related characters (such as curly braces which require gymnastics with a German keyboard layout) and the German specific characters such as umlauts.
But I can't imagine that this could be possible for Chinese without switching modes (or input methods or keyboar layouts).
I never felt like owning a new keyboard was necessary as a memorized the keys fairly quickly. The CA-FR layout is QWERTY+accents, but () {} etc. are weirdly placed, some requiring the use of the “alt-car” key which I’m not even sure exists in the US layout. I really hate programming or using vim in that layout.
Are there layouts where that approach isn’t feasible? Or is it mostly a memorization issue?