Shipping address, rates selection asked even if there's no physical products
I've been able to sort this out by adding the condition "Commerce order contains shippable products" supplied by the physical product module to the existing shipping rules, and also added a new shipping flat rate service called "No Payment". And this new flat rate shipping service is £0.00 amount and checks for condition "NOT Commerce order contains shippable products" (Negated, hence the "NOT").

I also unchecked the tickbox labelled "Require a shipping service at all times, preventing checkout if none are available." in Store-> Configuration-> Checkout Settings, and Shipping Service pane config.