Just don't tick the box or untick the box on comparison websites saying you'd like to receive information from 3rd parties. Doesn't matter if you're registered with the TPS if you do that. If you can't be bothered reading the small prints of them just put in a spam email address and a fake or old mobile number that doesn't work and you won't get any calls, simples.
You can try to mess them around on the phone, and sometimes your marked as a nuisance. I did this to an Indian call centre, and the calls stopped!
on android, go sms will filter texts based on whatever you want. i have it to delete messages with the word ppi, STOP, from non-contact numbers.
From the TPS FAQ:
Looks like "the call center" boss got fined £250,000 for making PPI calls, when they should not have -