1) I have packing materials because I don't throw away *all* packing materials when I buy things.
2) If the local shops are throwing these things away, they are in their dumpster, but once upon a time ago I befriended someone who worked at a local mom 'n pop computer shop, and it was a goldmine for leftovers cheap if not free, including hardware.
3) What do you think is special about a box to ship a HDD? Ideally it should be in an anti-static baggie but so many things come in those, surely you have one? Otherwise, wrap whatever you want around it, bubble wrap,, crumpled up newspaper, an old towel, etc, just taping the padding securely around it OR putting so much in an outer box, that the inner box the HDD/etc is in, has no chance of moving around much.
Consider that when you bought hardware new from a merchant, it wasn't packed so great yet survived the trip. You must do due diligence to pack things reasonably, but this is what insurance is for.
FWIW, I've shipped entire systems fair distances, and only took off the CPU heatsink, and took the video card out. I made 100% sure the recipient understood that the heatsink had to be installed before powerup. I might pack a HDD separately rather than mounted in a case (if it was worth anything, not just some old near $0 value thing because they're better off with an SSD anyway), but an SSD I wouldn't bother.
Remember that if you ship UPS or Fedex, it's more the weight than the size of the box (till it gets into "dimensional weight" class) so you do not need a box that is exactly the right size, just to have padding to make up the difference. Obviously some padding weighs less than others.