Hi,
I would recommend the "use price per product" option.
I don't see why you couldn't have shipping methods displayed and others hidden if the order has at least 1 product 'dangerous' with the "use price per product".
For example, if you have shipping method A and B with their "use price per product" setting activated.
And you have product C and D. But you don't want to be able to ship product D with shipping method A.
Then, in the product D, you can tick the block checkbox for shipping method A.
Then, on the checkout, if you have:
- product C, then you'll see both A and B
- product D, then you'll see only B
- both product C and D, then you'll see only B