Like the sibling commenter, I have never heard of an auto parts store charging for this. Walmart accepts it as well. Maybe it's just in the US that things are this way, and you're in another country?
I assume part of the reason they offer this service is to incentivize you to buy parts and oil from them, but I imagine there are also regulatory reasons.
I do live in another country and you started to make me doubt, so I checked.
So car shops generally won’t take you old oil where I live (although allegedly some do, which I somehow have never heard of), but it appears that most of the gas stations do.
So, my mistake, it appears it’s not so much a pain as I thought, I’ll look into this.
I assume part of the reason they offer this service is to incentivize you to buy parts and oil from them, but I imagine there are also regulatory reasons.