There is no realistic way for a shipping company to examine and interview every
recipient of goods to determine their individual ability to handle deliveries
and set a specialized individual rate for each of them. They do know that by
and large, businesses are better able to handle it then residential addresses.
Like it or not, that's a fact. Old men being the non-sequitor. So they charge
more to deliver to the places that on average cost them more to deliver to, ie,
residential addresses. They aren't inherently subsidizing the business
addresses, they are paying for their increased delivery costs. In fact, the
businesses might be subsidizing the residential addresses if it costs over that
Charging shipping costs by weight is nice, but it adds another layer of
complexity to the order, and increases the payment and billing mistakes.
Particularly if the order is catalog mail order where the customer fills out
the paper invoice. And customers aren't terribly inclined to pay the
additional amount they forgot when the order has already been delivered.
So while it's not nice when you're ordering expensive light weight things, it
does have a rational basis.
If you'd like to add to the grousing, don't forget delivery areas. This allows
your neighbor to be charged less then you because of their different zip code,
even if the delivery truck drives right by your house to get to theirs. :-)