If it was "terrible netcode", then you would still be having problems even with the VPN. No amount of efficiency in networking would be able to compensate for bad netcode.[/QUOTE]

well its a few things. SE (unlike other companies) use server side netcode. So, you are much more prone to issues such as these.
Secondly, I think absolutely SE should either pay for users VPN, or have their servers in an area such that they aren't needed. Compromising the gameplay experience (which is the solution now) I think is the least desired, especially for a subscription based game. People will eventually get sick of having to pay for 3rd party and subscription to play 'correctly' and it will be bad business.