The original design called for some kind of tit-for-tat algorithm, but it's long obsolete and you get whatever bandwidth the seeder has.
Most people that speak of leeching or not seeding really are talking about not seeding at all after they've completed. In fact, most clients will let you set upload speeds to a trickle but not zero (zero means unlimited in most clients). From a legal standpoint, that already means you uploaded.
I’m not aware of any clients that will refuse to share data with clients that are configured to not upload. I don’t even see how they could determine that, especially in situations where there are no other peers to upload to, and given that stats are entirely self-reported and clients that send bogus numbers exist.
You would need a central tracker that cares, which is what private torrent communities rely on, but not public/DHT torrents such as those discussed here.
You will probably get the data eventually, and it really depends on the composition and configuration of the swarm, but generally, you do need to upload if you want to ensure the fastest and most reliable download.
The case for doing this would be just so you can have this ridiculous legal defence Meta seem to be trying to pull out. Really no other good reason. Even for the most parasitic leeches, zero upload is a bad strategy.
You totally CAN disable all uploads in the torrent protocol. Just set the "upload budget" to zero in most clients. Just nobody realizes they can do that.
Bittorrent is wildly successful in part because every popular client makes it nontrivial to "opt out" of it's more socialist components (chunk trading, DHT participation, seeding by default).
Making an "leech behavior only" torrent client is straightforward and viable.
going 1 by 1 would be quite the exercise in itself considering just how much variety of formats, styles, crap added in the files, random password crapware, etc etc you find for anything other than the most trendy stuff