Osaka73,
Thanks for sharing, it’s certainly helpful in understanding the challenge you’re facing.
Before I jump into my recommendations, I thought I’d take a moment to address your concern about including keywords in your domain. I’ve never experienced an issue with including keywords in a domain name. In fact, in almost every case I’ve experienced a boost in the website’s ranking for related terms and phrases. Matt gently nudges people away from techniques that can be manipulated, however, I still believe there is value in using it selectively as part of an SEO strategy.
As for the ranking difficulties you’re experiencing, I think they can be broken down into two areas.
Local Content
The content on the location pages is somewhat thin and in some cases close to being duplicate content. It’s understandable as you’re attempting to share the same message but market it to multiple locations.
I would focus my efforts on creating unique content for these pages. A few years back Phil Rozek wrote an excellent article on creating unique local content that is worth reviewing. You may also want to check out the recent article Mike Ramsey wrote on developing a local content strategy.
This, above anything else, will have the biggest impact on your local page rankings.
Local/Niche Links
Secondly, I believe the other obstacle you’re currently facing is in regards to your backlinks. I ran an OSE report for a few of your internal pages and for the most part they do not have any links.
In reality, your campaign isn’t truly a Local SEO campaign, it’s an organic SEO campaign. And, your internal pages just don’t have enough authority to outrank the home pages of some of your competitors. Not to mention, it’s also likely why you’re seeing black hat link spam outrank your website.
I’d recommend you focus on building links to your city and state pages, using anchor text when appropriate (just proceed with caution and don’t overdue the anchor text). This should help to increase the authority and rankings of your pages.
Search Engine Watch has a nice article on tips for building local links.
Best of luck with your website.