Just to be clear, your instance spawn location should be determined when the tag timer ends. You are then presented with a join/ignore dialog window for 20 seconds, but still spawn where you were when the tag timer ended, not where you got when clicking join (obvious exploit). Can't join if you're outside the big circle when the tag happens, but the outer circle could extend all the way to the horizon. That yes/no window should probably include things like tag initiator and tag target name to prevent abuse.
And about the battle results screen, you can both use it to hide inside and gank people outside or wait outside and gank them as they come out. A 2 minutes or more invulnerability would help but could still be worked around with a bit of coordination. Kicking people off the battle results screen after x minutes would mean you would pretty much always be ganked after a battle in enemy territory. This is why I think the only viable solution is to force you back to the nearest friendly/neutral port after a battle. Maybe it would still be abused but it wouldn't be nearly as harmful, especially if you can't defensive tag outside of guns range. If the average battle lasts 30 minutes or more, that should be more than enough compressed OW time to be back in dock. As a bonus, it explains how you got all your crew back!