Emma here from Shopify. Thanks for reaching out!
When you are shipping products that vary greatly in size, the included shipping options can certainly fall short, given the limitation of only being able to select one default package size.
Our development team has received feedback from merchants like yourself who would love to see the option for assigning package sizes per product, so I know it's on their radar. We are always looking for ways to improve Shopify!
In the meantime, you can assign specific shipping packages to individual products with the use of an app such as Boxify (free 15-day trial) or Parcelify (free 30-day trial). Both of these apps are well reviewed by merchants. I'd recommend giving one (or both) a try to see if they suit your needs. So long as an app is removed within the trial period, you wouldn't see any charge for it on your Shopify invoice.
Let us know how you make out, and if you have any further questions just reply below and we'd be more than happy to assist you as best we can!
Emma | Shopify Support
Guys, I have a hack that I personally use on my stores (shameless plug, https://www.streetsaw.com). The reason that the sizes are being charged more is due to something called "dimensional weight." (Learn more here: https://goshippo.com/blog/usps-dimensional-weight-pricing-june-2019/) In essence, the size of your box is increasing the "weight" that the carrier charges to you for shipping.
I know that the real reason you're here is that you are charging the customer price A but having to pay price B, even though it doesn't weigh as much as you're being charged for. The reason Shopify hasn't bothered to make this update yet is that carriers are CONSTANTLY changing how they charge. Rates fluctuate frequently, new rules are implemented, flat rates change... blah blah blah.
Anyways, the hack is to go to the carrier's pages (like this one for USPS: https://pe.usps.com/text/dmm300/123.htm#1185034) and do the calculations on your own, determine the "dimensional weight" and use THAT weight for your product(s).
Follow these steps to determine the dimensional weight for a rectangular parcel:
From one store owner to another: I hope that helps!