Drupal commerce taxes and ip location
The order's billing profile will always be authoritative on an order. If you want to be able to provide tax/shipping estimates, you have two options:


Use something like Commerce Cart Estimate to provide an estimate by request to a customer. This doesn't put it on the order, but simply provides the estimates in a block.
Take the result of the SmartIP lookup and stick it in the billing address on the order. That way when the customer sets the actual billing address, it will just override it and it will stick. You should be able to swing this with the Smart IP module since it has a rules integration. Just tack it onto the order if it doesn't already have a billing address. Then, let commerce's rules do the rest and output the order's values.


Something that isn't out of the box would be to ask the user: Pop up a box or a block somewhere on the page that asks them to verify their country/postal code.