I don't know of a complete fix, but a start would be to rank based on upvotes in the past hour (or 2 hours, or whatever works best) instead of since submission. This would allow links submitted days ago to end up on the front page if they were recently upvoted a lot. The new algorithm could be put on an alternate front page (similar to http://news.ycombinator.com/classic) until it was tweaked to get the desired result.
Since detection of duplicates and content mirrors is currently done best by humans, I think another aspect of the solution is cultural. If we want to stop this sort of thing, people need to point out mirroring/linking and flag submissions. If we do it enough, the incentives will change to discourage this behavior.
Sounds like a good solution that would also decrease the asymmetry between first submission, new submission and up-voting. (There's one asymmetry that we'd like to keep: Who gets the karma, but the asymmetry of those actions on ranking aren't as interesting.)
Since detection of duplicates and content mirrors is currently done best by humans, I think another aspect of the solution is cultural. If we want to stop this sort of thing, people need to point out mirroring/linking and flag submissions. If we do it enough, the incentives will change to discourage this behavior.