Here are a couple of additional thoughts on remembering names based on my experiences using similar techniques. I agree that the best way to learn a person's name is to get an image of the name associated with a feature of the face.
One of the big problems I have is that introductions sometimes occur in busy social situations where a lot is going on. I can find I just don't have the mental horsepower to find a substitute word, identify a facial feature, generate the images and get everything associated in the time available.
I use a flexible strategy that I can adjust depending on the cognitive load I am carrying at the moment.
The top priority is to get the first name and, if possible, the last name. This means, as you point out, attentively listening to the name, repeating it back to the person, and looking carefully at facial features.
If I'm feeling cognitively stretched (maybe another introduction is about to occur or other activities are in play) I will not try to do anything at this point more sophisticated than making sure I bring my attention back to the new person in a few seconds and mentally rehearse the name. If I can just keep hold of the name, I can work out a longer lasting association later.
I find it's helpful to do several more rehearsals after increasing intervals (a minute then five minutes) to make sure the name doesn't escape. Sometimes these rehearsals are enough so I feel I have learned the name without the need for more sophisticated mnemonics. Other times, though, I decide I need more help, so then I work on imagery as my cognitive load permits.
I also really like the imagery technique you mention of associating a first name with a known person and it works well for me. I call this the "shadow technique" because I imagine the other person looking over the shoulder of the person I am introduced to. Now to get the association to last, the shadow and the new person need to interact in some way, but if things are busy, I just make sure I get the shadow in there and then rehearse it soon. I can work out an interaction between the two later as long as I can keep the name.
The substitute word technique is the most sophisticated strategy for me. Sometimes it is easy, but other times it can be hard. I agree with you that it is definitely worth the effort provided you have the time and focus to work it out.
Let me make a couple of quick comments on facial features. I liked your suggestions about features to look for. The best one is the one that hits you first because you want it to be a feature that will pop out next time. When I started working on being better with names and faces, I found that I didn't naturally look at faces very carefully.
Here is an interesting exercise that I found helpful in getting better at it. If you walk in a busy place where people are streaming past you, say a shopping mall or a sidewalk you can practice really seeing faces and doing it quickly. I pick someone walking toward me and look at the person carefully for a second or two with an emphasis on finding a distinctive feature. When I look away, I still have the image of the face. I choose the feature I would use if I were trying to learn the person's name. After 3 or 4 faces, I try to go back and recall the earlier faces with an emphasis on the selected features. I found that I got better at it with practice.