I just thought of a really cool way to completely stop this from happening:
Lego could make it clear what each package contains, then people could buy what they want.
There will still be tons of people that will buy complete sets. And there will be many more happy customers who aren't duped or cheated by having to buy excessive product for the chance to buy what they want.
So, Lego, you want to be more sustainable? Employ this simple approach, and you'll create less waste and you'll have happier customers.