The English Great Vowel Shift made a huge discrepancy between English pronunciation and English orthography. In perspective of conlang creators, that's something that should be prevented.
It seems like, if a language has a considerably many number (more than 5 or 6) of vowels, a vowel shift is going to happen (gradually) anyway. I'll take Korean as an example. ㆍ and ㆎ were lost, ㅐ [aj], ㅔ [əj], ㅚ [oj], and ㅟ [uj] had become [ɛ], [e], [ø], and [y] respectively, the difference between ㅐ and ㅔ is disappearing, and ㅚ and ㅟ are becoming diphthongs.
Currently, the conlang I'm making has 10 vowels: A [ɑ], Ä [æ], E [e], È [ɜ], I [i], Ì [ɯ], O [o], Ö [ø], U [u], and Ü [y]. This vowel structure doesn't quite seem to be stable either. [ɜ] seems likely to clash with [ɑ] or [ɯ]. A way of preventing that clash is adding a suprasegmental to [ɜ] to become [ɜ̃], [ɜ̰], [ɝ], etc. But I don't want to let that happen either. So I'm seeking for an external way of preventing it. Is it really possible to prevent every vowel shift?