The best self-defense for foreigners:
Learn the local language.
This came to my mind while thinking about some unpleasant experiences when I was new in the Czech Republic and often ended up with the short end of the stick. If you don’t know the local language well, you cannot defend your rights efficiently, you miss essential information, it is difficult to find helpful people, and defending yourself consumes much more time and energy. And, even worse, you cannot respond adequately if people yell at you.