is there a set of characters that are used only for transliteration? I started learning chinese characters to transliterate Latvian names. As far as I can understand these ~220 characters I have learned are always the same except for some that could confuse a Chinese reader and let him think that Anna is a boy, if a wrong "na" is used. Am I right? In one word to say, Valdis can be transliterated only as WaErDiSi, Dnepropetrovsk as DeNiePuLuoPeiTeLuoFuSiKe, a.s.o. and always with the same characters.

No rules about it, even if Chinese characters for surnames are often used - often, not always!
That's why you can find different version of the same 'translated' English name - more than the obvious traditional and simplified versions.