The following is a general outline of things you should/shouldn't be doing to make your life easier and avoid heartache! This will be a little more casually written.
Optimize as you go
Many people believe optimization is something you do last when creating something, this is far from the truth and you should be working on optimization all throughout your process. Always keep in mind of things you can do to reduce the performance cost of your avatar, such as atlasing.
If you save optimization for last you might feel overwhelmed, while if you spread that task out into other tasks while you're doing them will tremendously reduce the amount of work you have to do and you can even find things you can improve that you wouldn't have noticed if you saved optimization for later.
Keep a .blend backup of your avatar
You should also save a new .blend file whenever you make large changes to your avatar. You don't want to end up losing a day's worth of work—or potentially your entire avatar because you decided to import-export the same .fbx over and over. This is also helpful if you're using things such as Bone Groups to organize your model.
DO NOT UNPACK YOUR AVATAR'S PREFAB
I do not care if you think makes your workflow easier! Do not unpack prefabs! unless you are doing an extremely obscure avatar trick that absolutely requires it. DO NOT UNPACK YOUR PREFAB. This is primarily because, if you ever need to make changes to your avatar's .fbx, especially the rig, your unpacked prefab of your avatar can completely explode and be nearly impossible to fix in some circumstances. DO NOT UNPACK YOUR PREFAB UNLESS YOU KNOW WHAT YOU ARE DOING.
Back up your projects!
This is kind of obvious, but trust me! You'll never know what could happen!
Always use the most recent version of your tools
Generally, you should always use the most recent versions of any shaders, tools, etc. you use. It'll often help fix any issues you have.
When exporting a UnityPackage, do not export shaders with it!
I see this happen a lot, especially on paid models seen on BOOTH or Gumroad where the creator will include the shader it uses within the UnityPackage. This isn't good for a multitude of reasons, but primarily because it can cause issues for whoever has to import your package if they already have that shader installed. This can also be against the shader's license, especially if it's a paid shader! Generally, just make sure you only have the things that are absolutely necessary in your UnityPackage