Hello,
Assuming that we leave blogging out of the equation for now...
(Since you should be using a blog to provide value to readers, and will probably going for longer-tail phrases rather than things like "keyword-or-service in City")
My strong preference is building sections off the root domain rather than microsites on subdomains. You'll get more benefit from the other tactics you mentioned with this setup than you will from subdomains. You'll also have a far easier time of it trying to rank one site with multiple pages, rather than a new site for each location.
Realistically, the subdomain and new site tactics are going to be either 1) A massive amount of work to write great content or 2) Full of weak content. Using the root domain, on the other hand, allows you to rank for your keyword and location while still offering visitors great content that is more generalized (assuming that your different locations provide the same services).
Link-building wise, I'd definitely focus on building links to the location pages. I would be wary of getting too specific with your anchor text, however -- I wonder how much value there is in a link where you could get anchor text that includes both the keyword and location, and too much of it is going to look artificial very quickly. In this situation, I rely more on on-page targeting and strong local search listings for each location than I do anchor text.
I'm sure others will have more to contribute, but I hope this helps.