This is the solution for PS 1.7 in relation to showing "Free" when the shipping is not even yet calculated, that is, we still don't know if we are gonna be able to offer free shipping (rules are not yet applied). So the solution was to check if there are any items in the cart. If there aren't, that means that shipping hasn't been calculated at all, so we can just show $0.00. (Notice the static dollar sign, not great but at least it works for single currency shops, just put the correct sign. Multi-currency carts should find a fix to dynamically change the sign, maybe adding variable in CartPresenter.php).
Edit this file:
themes/<your_theme>/templates/checkout/_partials/cart-detailed-totals.tpl
Replace:
<span class="value">{$subtotal.value}</span>
With:
{if $subtotal.type === 'shipping' && $cart.products_count==0} <span class="value">$0.00</span> {else} <span class="value">{$subtotal.value}</span> {/if}