i have simply accepted the fact that i am bad with names, and found out that many others are too.
if i meet someone in a situation where i think we'd meet again, i already apologise after hearing the name with something along the lines of "sorry, but i'm bad with names, i'll probarbly forget yours in minutes".
then, if i meet them again, i start with a "sorry, i know we met before, but i forgot your name".
this is considered common and is forgiven easily, as long as you dont forget more then 3 orso times.
after 3 times, i know them good enough to work around not knowing their name, and eventually, i'd find out again and remember after that, it's been enough times