The information I'm about to share is purely brainstorm, from years of gathered intelligence. It will in NO CASE 100% secure your accounts or make sure you restore them. But it will help
If you are new to botting, this is the second guide you should read. First one is here link (HonorBuddy 101).
Seeing as Blizzard is increasing frequency of bans lately, I decided to publish a small (mostly common sense) guide on WoW botting and account security. It can be applied to other games as well, but it has a few parts that are WoW specific. Lets start from the beginning.
There are two ways you can do this, one is to get a regular accounts, other is to get SoR accounts. SoR accounts are accounts that went inactive before March 4th, 2012. All accounts that were made and that had 1 month of game time on them before March 4th are eligible. While SoR actcounts give you advantage, by providing free game time (Cataclysm 10 days + Pandaria trial) they are hell when it comes to securing them. Once they get banned, and sometimes even when they don't, Blizzard can ask for "original owner info" which you won't be able to provide.
You should write down all info regarding your battle.net and game accounts. This includes full name, date of birth, credit card used, keys added, even IP address and physical location where you registered the account. You need to have full access to all info at all times, as a player would. I suggest using a spreadsheet offered by Google Drive, as it's accessible and secure. If you still want to get a SoR account, log it in at wow-europe.com/account. This will not show you full name, but it will show you enough info about the original owner. Once you grab all that info, use google and try to find him. If you know his full name and date of birth, once they ask for ID it shouldn't be a problem. You should do this before you make a battle.net, so your battle.net will match original owner info and you'll be in the clear.
If you are buying accounts from other people, make sure to grab as much info as possible about characters, achievements, past guilds, issues they might have had with the account in the past etc. Golden rule is more info you have, higher chances of unban.
There are many "100% safe" profiles and bots out there, but I'm not going to discuss that here. What you should keep in mind is Blizzard made the game, so assume there is no such thing as "100% undetectable". Here are a few things you should pay attention to:
1) Private profiles - never use a public profile, if a GM witnesses a train of bots in a region, you'll have a bad time trying to unban that one. Do your best not to run a Battleground bot, as they seem to get detected lately in matter of hours.
2) Uptime - This is a though one. You could go two ways about it, one is to run it 24/7 and act stupid when you get banned and hope for the best. Other is to make some "normal play hours" like 8-10-12 hours a day, and run it during those. This would make it easier to justify your accounts to support later on.
3) Invest in your character - Doesn't matter if it's a bot or not, every players treats himself with a nice mount, new recipe or a piece of gear for transmog. Make it look legit. Transmog your armor to something nice (2-3 runs of Black Temple won't kill you), level up fishing etc.
4) Separate farming from production - This is a key point. It is hell to setup, but once you have it, it's a breeze. Using account where you have 5 professions leveled up and a farmer is bad, as it will get banned much faster then if you have them on separate accounts.
5) Be careful with updates - We all know the story of RS bot that was writing Taylor Swift lyrics in chat. Never update it the same second update becomes available, God knows what Bossland & crew might have messed up, as they do so often. Most of your custom scripts will stop working with new release, so make a test run on a separate account/machine and fix that first, give it 24-48 hours and keep your eye out on the "ban report" section.
6) Remember, it's a business - Don't love your accounts. You bought them to make money, and you should treat it like that. Always assume they will get banned, so your goal is to make as much money as possible. You spent 50e on setting up the account, so force it to make 50e before you start to run it "casually". After it makes inital investment, rest of the money is pure profit.
7) Go full custom - If you are really big, you should have your own bot software. Some people went as far as making custom wow client. This allowed them to tone down graphics and other garbage settings you don't need for botting and run 100 clients on an average PC. Sure, it had minecraft graphics, but you aren't botting because drakes are beautiful anyway. As much as Honorbuddy is decent piece of software, it has a price, and it's not entirely up to you/your developer when it stops working. Custom bot software ensures you will never have any issues with it.
8) IPs - This will hit "cassual" botters and people that bot on their mains just for gathering. Once you turn on the bot, switch your IP. Do it in stupid hours, like turn it on at 4am (Windows Scheduler can help you here, or ARelog). This will open the window of opportunity, if they catch you botting.
9) NO AUTHENTICATORS - This is really important. No matter what you tell Blizzard, if you have an authenticator it's done deal. It doesn't leave room for breach, or anything else that might have gone wrong, it just confirms that you did what you did.
10) Trade with a mule accounts - Always grab a battlechest or any other basic type of account you can (for other games) and use it for trading.There's a small trick people employ, even though it's a hassle. You run the mule + the account you trade the mule from on a different IP. This might fire back by Blizzard restoring the gold you sold, but it could also indicate someone is logging your account and stealing the gold, which could help later on. As for guild bank or face2face, there's really no wisdom there. Use whichever you like. I've seen 800k+ face2face trades go without ban, and I've seen bans on 11k guild bank trade. So really, suit yourself.
11) Don't add gametime to mule accounts(thank you Bearkin) - It's cheaper and safer to just buy a new battlechest. It will help, as if you use a mule account for long, someone might look into all the trades done from it and you'll suffer more damage then just loosing the mule.
I got banned, now what?
What most people do is QQ in a ticket. That's fine, but there are a few things you should and shouldn't do. First and most important, never admit anything. You are an innocent player that got hit by a ban hammer, and you have no idea why. You are a humanitarian type of person, and you would never damage the game. But you didn't actually do what they claim you did. You also didn't let your brother/mother/sister/father/dog/parrot play. Sharing accounts is against Blizzard's rules. Try to keep your English as sharp as possible, don't beg, don't tell them you will suicide (they will send the police to your house) and most important - never use a template you find online for free. No matter what they claim, Blizzard does have a list of know templates for each category of tickets, like country change, name change and unban. Only thing I couldn't confirm they keep is IDs, but I'm sure they do that as well, as some of the IDs got declined multiple times for no reason. If you decide to buy unban services, here are a few things to keep in mind:
1) Check the seller you want to do business with - Their thread, reputation, English.
2) Avoid sellers with availability issues - Most of the time, you will want to submit tickets to Blizzard as you get a reply, not a week later (this is case dependant, but 90% of the time you want to do it like that).
3) Talk to them first - Ask them for an estimate, for the approach they plan on using. Anyone who offers you more then 80% chances of unban on a banned account (not locked) is lying.
4) Avoid children - No half-decent social engineer will offer you refund in case attempts fail. No matter what, the seller did spend some hours working your case, and that's ultimately what you pay for.
5) Ditch templates - If what you got smells like a template, ask for a new ticket. Templates are really bad for this business.
6) Don't give out your login info or your ID - If Blizzard asks for ID, submit it yourself. Best way of doing this business is just buying tickets, and submitting them yourself. Many security issues can arise should you give someone your account info. Blizzard will catch the IP change as well.
Hope this helped some of you out there, if you got any questions, feel free to ask!