This is not a case of someone making windfall profits and inconveniencing you in the process. The price of the part you just bought has been reduced by the core exchange process.
The manufacturer/rebuilder is counting on those old parts to use on the next replacement they build. The core charge is just a form of insurance that you will complete your end of the deal to get the lower price. Otherwise they have to buy brand new parts and that costs way more than one that is already fabricated.
Would you prefer a higher initial price and the inconvenience of disposing of that part yourself? Around here, you can’t just throw any old thing in the trash anymore so it’s a major inconvenience for me to dispose of it AND it’s not very responsible, environmentally.
But if you like that option, just don’t return the core and they keep the core charge. Simple.