Try of generalization:
Let $A, B, C$ denote the numbers of the three hats.
Alice reveals that $B\neq C$. Bob knows that $B=A+C$ or $B=|A-C|$, but he cannot differentiate between the two using only the information $B\neq C$.
Towards a contradiction, assume $A=2C$. Bob knows that either $B=A-C=C$ or $B=A+C=3C$. The information $B\neq C$ would be sufficient to for him to conclude $B=3C$. But in reality Bob could not deduce $B$ from the information $B\neq C$. Thus we must have $A\neq 2C$.
Before her second statement, Alice got two pieces of information: (1) $A\neq C$, and (2) $A\neq 2C$.
Suppose only (1) reveals the true solution. This means that her two scenarios ($A=B+C$ and $A=|B-C|$) could be differentiated by (1). This means that one of the scenarios can only hold under the opposite assumption $A=C$. Following the same line of argument as above, this would be $A=|B-C|$ and thus $B=2C$. However, as we have $A\neq C$, the other scenario ($A=B+C$) must hold, but with $A=20$ this would imply $B=40/3$ and $C=20/3$ which are not whole.
Now suppose (2) reveals the true solution. This again means that one of the scenarios can only hold under the opposite assumption $A=2C$. If that scenario was $A=B+C$ then $B=C$ would follow. But in this case she would have known her number immediately. So the scenario that holds only under the assumption that $A=2C$ must be $A=|B-C|=2C$. This has only one positive solution, which is $B=3C$. In the real scenario where $A\neq 2C$ and thus $A=B+C$ with $A=20$ this gives the solution of $B=15$ and $C=5$.
Where I think this is a bit shaky...
Is that I used the knowledge that Alice could deduce somehting from the information present. If I was Alice in this scenario I would not have this information.
But if the line of argument holds, then...
The solution relies on the divisibiliy by $3$ and $4$. If $A$ is divisible by neither, the puzzle would not work (i.e., Alice could never conclude anything from the first two statements). If $A$ is divisible by $4$ but not $3$, then $A=4C$ as here. If $A$ is divisible by $3$ but not $4$, then $A=C$. However, in this case the puzzle is simpler as her first statement is not required. You could also start as Bob's statement and still give Alice enough information to immediately deduce $A$. If the number is divisible by $3$ and $4$ then Alice could again not deduce anything.
Edit: Assuming my conclusion is correct, we can continue the puzzle:
Alice announces for all to hear, "I can't deduce the number on my hat."
Bob then announces, "I can't deduce the number on my hat."
Alice then announces, "I still can't deduce the number on my hat."
Bob announces, "The number on my hat is 20."
What is the number on Chris's hat?
When Alice says "I still can't deduce the number on my hat." she signals to everyone that neither $A\neq C$ nor $A\neq 2C$ is sufficient for her to deduce $A$. As we have seen, from $B=3C$ and $A\neq 2C$ Alice could deduce $A$, this means Bob know knows $B\neq 3C$. If this is sufficient for Bob to tell $B=20$, this means there must be a scenario ($B=A+C$ or $B=|A-C|$) that holds only if $B=3C$. If it's the first we would have $A=2C$ which we know is not the case. So $B=3C$ in the $B=|A-C|$ scenario, thus $A=4C$. As we are in the $B=A+C$ scenario, we must have $B=5C$, hence $C=4$ and $A=16$.
As for generalization...
Consider the chain of announcements where Alice says she can't deduce her number, then Bob saying he cant deduce his number and so on. When Alice says "I can't deduce my number" she gives Bob information of type $B\neq kC$. If Bob then says "I still can't deduce my number" he announces that $A\neq (k+1)C$, as the case $A=(k+1)C$ along with the information $B\neq kC$ would imply that $B=|A-C|$ (i.e., Bob could deduce $B$). Analogously, if Alice then said "I still can't deduce my number", it means she announces that $A=(k+2)C$ and so on. In general, the $k$-th statement in the sequence states that $B\neq kC$ for odd $k$ and $A\neq kC$ for even $k$.
If Alice now says as the $m$-th statement "The number on my hat is $A$", this means the most recent information $A\neq (m-1)C$ was sufficient for her to deduce her number. By the same argument as before, $B=mA$ and $A=B+C$, and hence $C=A/(m+1)$. Analogously, if Bob said in the $m$-th statement: "The number on my hat is $B$", we have $C=B/(m+1)$.
The only exception to this
is the case originally poster here, since Bob's first statement states two different pieces of information since it's the first time he announces anything.
The thing I am not sure about is what would happen if Chris also said something...