My strategy is to upload as much as possible, to leech or not, especially if the swarm doesn't have many seeds. By using my bandwidth to saturate a leech's download bandwidth, that leech is taking less from the seeds, allowing the seeds to send more to other hopefully more cooperative nodes. This strategy applies regardless of upload bandwidth, though it's pretty rare for me to join a swarm that can saturate my upload bandwidth.
If you are the initial seeder, your BitTorrent client can watch the swarm to see which chunks start appearing elsewhere and know that the clients those chunks were initially sent to are cooperative. This strategy is called
super seeding. Many (most?) clients support this.