I have a situation that I believe should be handled in the standard code.
When users buy Giftcard, it does not make sense to calculate a shipping charge since there will be no delivery for it.
Since the Giftcard is a specific product type, I believe that it can be identified in the shipping charge logic and excluded from the calculation.
Another option would be to have an "Excluded products" option in the default shipping provider settings, just as we have for discounts.
I believe the second option may offer more flexibility.
I hope it makes sense.