Card details being bought/sold is big business.
Nothing you can really do to stop it but you can try and protect against it by choosing what banks to have cards with and refuse to be a customer of a bank that puts the liability on the consumer.
In Europe we mostly have chip and pin for everything and most online purchases go through 3D secure.
If I absolutely have to use an ATM in a developing country then I have a really good 0%FX PAYG card that I can load with whatever amount I want and withdraw from an ATM instantly, perks of that is that even if the card gets skimmed, I lose nothing and I'm not having to call up banks and deal with all of that while on holiday because I still have my main cards to use, when you are in a foreign country it's not always so easy to just get a new card to use.