Wrong unit price for promotion on shipment cost
The module sale_promotion use the result of the call to get_sale_price as unit_price to compute the promotion. But for the line of shipment cost, this computation may be wrong because the unit price of shipment cost is computed from the carrier configuration.
I think that the unit price (for promotion computation) for such line should be the shipment cost.