Update (March 12, 2015): We decided that filtering based on Stack Overflow ignored tags was a bad idea, because, for example, you may not want to answer questions in sql, but aren't necessarily opposed to accepting a job which deals with SQL. So, instead, we are now respecting your disliked tags on Careers. So, if you have a Careers CV (which is linked to your Stack Exchange account), then you should never see any jobs which are tagged with one of your disliked tags.
This is not a perfect solution. We still want better ways for you to control your advertising preferences, even if you don't have a Careers account. This wasn't a calculated ploy to try to get more people to sign up for Careers; it was simply the easiest way to implement it quickly. This is a first small step in the right direction, and hopefully some users will find it useful.
This is absolutely something we want to do. Simply respecting your ignored tags list on Stack Overflow may be the starting point for this sort of functionality. I understand that may not be useful in your specific case, but it may be a win for other users, and is a quicker way to get going than the suggestions you describe.
As AstroCB wrote, we recently rolled out more intelligent targeting, but it's just a small first step, and there's still a lot of randomness involved, so seeing ads which don't even match what we think we know about you is still pretty likely to happen. Geography is the biggest influence on the job ads you see, so if you're seeing a lot of duplicates, it's likely because there aren't that many jobs in your area.
Long term we want to give you much more control over the ads you see. Voting may be part of that. You bring up the scenario of what if I down vote everything, and Careers has nothing left to show me? We actually think that's okay. If we don't have anything relevant to show you, then why are we showing you anything? One of the future options will very likely be an option to completely disable job ads for a certain period of time (~6 months maybe). If you're not even remotely interested in considering switching jobs in the near future, then there's very little benefit in us showing you job ads.
None of this is a promise, just an indication of some of the ideas we've been kicking around. Ads are going through major changes behind the scenes, and we have a lot of work to do before we can even begin to design or build these more-ideal solutions. I'm marking your request as status-deferred. We'd love to get to it, but I can't even begin to give you a timeline.
Shameless self plug: if anyone reading this answer is a smart developer with a passion for making ads on Stack Overflow better, we are currently hiring for the Ad Server team.