> Include phonetic training. Make the user distinguish between each minimal pair in the language, possibly even every single syllable in the language. This is simple, but rarely done.
I believe that this is very good advice.
The realization there are actually different sounds in different languages has came as surprise to me. I always naively assumed that the same sounds where just combined differently. Obviously this has had a negative impact in my learning.