This part should be improved later on...

Obfuscate more, obfuscate all!

Once you have obfuscate most of your variables you will realize that there are still some left-overs which are not obfuscated that might give some clues as what the portion of code is handling.
For example you will realize that AHK built-in variables, commands, operators, numbers and strings cannot be automatically obfuscated.
Fortunately there are some steps you can take to try to obfuscate nearly everything !

Convert built-in variables

If you want to obfuscate built-in variables that are surrounded by %'s or obfuscate built-in variables in non-global functions (straight mode) you can assign the built-in variable to a custom variable before the statements and obfuscate this variable.

Convert recurring Strings to variables

If you want to obfuscate strings you already know you can hide them with the hidestr() function.
However if a string is recurring, one simple solution can be to create a global or superglobal var with this string, replace all occurrences of the string by this var (which would also be better for maintainability) and declare this var to the Obfuscator. When you assign the string to the (super)global var use hidestr() for better obfuscation.
Thus the recurring strings will be obfuscated as well!

Convert numbers to variables

You will soon remark that all your numbers are not obfuscated automatically. If the number has some special meaning (ex:256 for AES256) and therefore is quite sensitive, or if there are recurring numbers (like numbers from 1 to 10), you can also apply a similar strategy as above by creating superglobals that would contain the values of these numbers and replace their uses by these variables.
Thus sensitive and recurring numbers will be obfuscated as well!

Convert Autohotkey math operators into functions

Autohotkey standard math operators (- + / // = etc.) CANNOT be obfuscated as they do not accept to be called dynamically.
However you can:
-Create or use custom function equivalents
There are some libraries that have many function equivalents you can insert and use in your code to replace Autohotkey standard math operators. Or you can create yours. This is very useful to obfuscate sensitive math operators which do not have standard Autohotkey function equivalent.
ex: if (var1 / var2 - var3 = 15)

could become
if EQUALS(MINUS(DIVIDE(var1 , var2) , var3) , 15 )
As I did not find such an existing library I have started create one : Ahk-Operators-Functions
Thus Autohotkey math operators will be obfuscated as well!

Convert Autohotkey commands into functions

Autohotkey standard commands CANNOT be obfuscated as they do not accept to be called dynamically.
However there are 2 solutions you can use:
-Replace them by their Autohotkey system function equivalent, if they exist.
See AHK official documentation of Built-in functions.
ex: StringSplit() instead of StringSplit, OutputVar, InputVar,...
and declare these Autohotkey functions to the Obfuscator.
-Create or use custom function equivalents
There are some libraries that have many function equivalents you can insert and use in your code to replace Autohotkey standard commands. Or you can create yours. This is very useful to obfuscate sensitive commands which do not have standard Autohotkey function equivalent.
I can recommend the great library produced by Coco : Port of AutoHotkey v2.0-a built-in functions for AHK v1.1+
I have forked it so you can have all functions in only 1 lib file : Ahk Command Functions Equivalent - Single File
ex: SetTimer()
Thus Autohotkey commands will be obfuscated as well!