There was a topic recently: "what can kill bitcoin", and one of suggested answers was "A kid kidnapped, ransom paid in bitcoins, track lost in a mixer". Such a news would attract huge media attention and can seriously damage BTC reputation. What if, god forbid, taking BTC for ransom becomes common among kidnappers? Can we prevent it from happening, i.e. keep track of these coins?
And more generally, is there a way to keep track of "dirty" coins, while still having "honest" coins anonymous? So that real criminals won't be able to use their ill-gotten money, while honest tax-avoiders

will still be safe?
Can it be done by some technical means, like coloured coins? Or by some reputation means? Something like this: there is a blacklist of "dirty" addresses (in a server or embedder in the blockchain). If the payment came from a "dirty" address, the transaction will be rejected by miners and eventually rolled back. As for mixers, to prevent from being associated with dirty money (and eventually getting blacklisted by miners), they would want to keep log of transactions, with addresses! An average mixer customer, naturally, won't come to a "tax-friendly" mixer, that reports them to authorities. But he also won't go to "dirty" mixer. First, because he (most likely) don't approve criminals. And second, because he don't want to get blacklisted himself. So, the honest folk will still enjoy their anonymity, while the Earth be burning under criminals' feet.
What if a kidnapper kidnaps a kid, demands gold as ransom and then pays someone to melt the gold into new bricks, will gold be banned forever?
As for your second question no, bitcoin will never become less efficient than what it CAN be so that dumb-ass humans will be able to behave less responsibly with their children, I just love it when people blame the bullets not the killer, blame the knife not the stabber, blame the drugs not the addict, blame alcohol, cigarettes, gambling, blame the Big Mac and not the person jamming it down his throat every day.