Ok first off I am a new user here and this is my first post/contribution, so I hope it hasn't been posted before. This guide is combination of various methods I have seen, and I have used in the past.
Scenario:
You purchase a Battle.net account and want to change the owners name to your own.
Guide:
In short for anyone familiar with the process of transferring a character to a Battle.net with a matching surname, then attempting to call Blizzard to get a name change on the account. I added an extra layer which I found to be very useful, and dare I say full proof.
When you make the new account to transfer, to make it via an opposite regions website, i.e. US for EU. Purchase both an account for that region, and an account in the same region as the character you wish to transfer from the other Battle.net. Transfer the character, and once it is safely in the new battle.net call the customer support in the opposite region (the region the whole battle.net was created in).
Pull the same whole bull story about how you didn’t know that you needed to use a real name for the Battle.net account and you wish to change it, in case you need to access it later, you want your real name for the social network side, blah blah. Now this is where the cover of an extra region comes in, the rep looks up your account they see it was recently created and no high level characters (you may want to level one a couple of level to make it convincing you played). They will not see the character in the other region. On one occasion they changed it then and there over the phone for me, the other I had to fill out their web form and send in a copy of my ID, and it was changed a few hours later.
Of course there will be history of the transfer and no character will be safe indefinitely form the original account holder. But this is a hell of a lot cheaper than the name changes I have seen, and you can do it yourself.