The problem with your argument is that a sequence with length $n - 2$ that does not contain two consecutive zeros but ends with a zero can be extended to one that does contain two consecutive zeros by appending a single zero, which places it among the $a_{n - 1}$ admissible strings of length $n - 1$.
Let's examine admissible strings of length $4$. They are the eight strings
$$0000, 0001, 0010, 0100, 1000, 0011, 1001, 1100$$
Notice that since the admissible strings of length $3$ are
$$000, 001, 100$$
you counted the six strings
$$0000, 0001, 0010, 0011, 1000, 1001$$
in your $2a_3$ admissible strings of length $4$ that can be formed by appending a $0$ or $1$ to the end of an admissible string of length $3$.
Since the inadmissible strings of length $2$ are
$$01, 10, 11$$
you counted the three strings
$$0100, 1000, 1100$$
among the $2^{n - 2} - a_{n - 2}$ among the admissible strings of length $4$ that can be formed by appending $00$ to an inadmissible string of length $2$.
Notice that you have counted the string $1000$ twice since $100$ is an admissible string of length $3$ and $10$ is an inadmissible string of length $2$. The problem, as stated above, is that $10$ is an inadmissible string of length $2$ that can be extended to an admissible string of length $3$ by appending a $0$ to the end of an inadmissible string of length $2$ that ends in a zero.
Best Answer
Make coupled recurrences, one for the number of good strings of length $n$ that do not end in $1$ or $2$ and one for the number of good strings that do end in $1$ or $2$. Given the number of each, how many strings of length $n+1$ of each type are there?