I think you are on the right track. But I would work harder at making more unique content for each of your geo targeted pages. I go so far as to create a specific set of images unique to the city page all saved within a folder named after the city. Then the alt tags for the images are city related. It really doesn't take too much different content. But I think that by creating / naming the images this way it sure helps eliminate the chance of being hit as duplicate.
I also insert the geo tags in the head section. Some say this isn't important but I say it can't hurt. It's one more spot to mention the city name.
I use the geo tag generator: http://www.geo-tag.de/generator/en.html