Oracle OM :shipping of free item without the parent item
This is a typical case of Kit items. Please define the parent item as a Kit item and other items as components. Free item with ZERO Price. As another friend suggested, set for Ship Model Complete to make sure the entire kit or none are delivered.
If this is used on exception ShipSet is the approach.