I don't know much about logarithms and Lambert $W$ function, but I managed to solve simplified versions, like $x^x = c$ and $(x^b)^x = c$.
However, initial equation turns into $a^x(e^{ln(x)}ln(x))^b = c$, where I can't get rid of $a^x$ to get the solution.
Wolfram Alpha gives me the solution, I'm a little concerned about: $x = \frac{a\log(2)}{3\cdot W(32/3 \cdot 2^{2/3} \cdot a\log(2))}$.
Can you explain how Wolfram Alpha got (if it's right) the solution or the basic principle for solving these?
The basic principle is to manipulate the equation to get into the form $c=ze^z$, where $c$ is a constant, and $z$ is a function of $x$. Substituting variables can often help in doing this.
$$(ax^b)^x = c \Longrightarrow $$$$ ax^b = c^\frac{1}{x} \Longrightarrow $$$$a^\frac{1}{b}x = c^\frac{1}{bx}$$
Let $y=\frac{1}{x}$ then $$a^\frac{1}{b}y^{-1} = c^\frac{y}{b} \Longrightarrow $$$$ a^\frac{1}{b}y^{-1} = e^\frac{y\ln{c}}{b} \Longrightarrow $$$$ a^\frac{1}{b} = ye^\frac{y\ln{c}}{b} \Longrightarrow $$$$ \frac{a^\frac{1}{b}\ln{c}}{b} = \frac{\ln{c}\;y}{b}e^\frac{y\ln{c}}{b} \Longrightarrow $$$$ W\left(\frac{a^\frac{1}{b}\ln{c}}{b}\right) = \frac{\ln{c}\;y}{b} \Longrightarrow $$$$ y = \frac{b}{\ln{c}}W\left(\frac{a^\frac{1}{b}\ln{c}}{b}\right) \Longrightarrow $$$$ x = \frac{\ln{c}}{bW\left(\frac{a^\frac{1}{b}\ln{c}}{b}\right)} $$