Safari with JS disabled on macOS and iOS, Firefox with a custom user.js on elementaryOS. I enable JS only when necessary — looking at you, Help Scout.
For actual blocking, I run a Pi-hole on a VPS that connects to multiple DNSCrypt servers that I control, which block everything I want while improving privacy. Planning on replacing Pi-hole with AdGuard Home for DNS over HTTPS and DNS over TLS, since I want to have this server public at some point, for others to use.
If anyone is interested in testing, shoot me an email at root@jamespond.co. No logging, DNSSEC, disk encryption, Canonical Livepatch, 24/7 monitoring and completely open source.