16. Given that $S_{n}$ is the sum of the first $n$ terms of the sequence $\left\{a_{n}\right\}$, for any positive integer $n$, we have
$$
(1-b) S_{n}=-b a_{n}+4^{n}(b>0)
$$

(1) Find the general term formula of the sequence $\left\{a_{n}\right\}$;
(2) Let $c_{n}=\frac{a_{n}}{4^{n}}\left(n \in \mathbf{N}_{+}\right)$, if $\left|c_{n}\right| \leqslant 2$ for all positive integers $n$, find the range of the real number $b$.
16. (1) When $n=1$, we have
$$
(1-b) a_{1}=-b a_{1}+4 \text {. }
$$

Thus, $a_{1}=4$.
When $n \geqslant 2$,
$$
(1-b) S_{n}=-b a_{n}+4^{n}
$$

and $(1-b) S_{n-1}=-b a_{n-1}+4^{n-1}$.
Then $(1-b) a_{n}=-b\left(a_{n}-a_{n-1}\right)+3 \times 4^{n-1}$,

which simplifies to $a_{n}=b a_{n-1}+3 \times 4^{n-1}$.
(i) If $b=4$, then $\frac{a_{n}}{4^{n}}=\frac{a_{n-1}}{4^{n-1}}+\frac{3}{4}$.
Thus, $\frac{a_{n}}{4^{n}}=\frac{a_{1}}{4}+\frac{3}{4}(n-1)$.
Hence, $a_{n}=(3 n+1) \times 4^{n-1}(n \geqslant 1)$.
(ii) If $b \neq 4$, then
$a_{n}+\frac{3}{b-4} \times 4^{n}=b\left(a_{n-1}+\frac{3}{b-4} \times 4^{n-1}\right)$.
Thus, $a_{n}+\frac{3}{b-4} \times 4^{n}=\left(a_{1}+\frac{3}{b-4} \times 4^{n}\right) b^{n-1}$.
Hence, $a_{n}=\left(4+\frac{12}{b-4}\right) b^{n-1}-\frac{3}{b-4} \times 4^{n}(n \geqslant 1)$.
In summary, $a_{n}=\left\{\begin{array}{ll}(3 n+1) \times 4^{n-1}, & b=4 ; \\ \left(4+\frac{12}{b-4}\right) b^{n-1}-\frac{3}{b-4} \times 4^{n}, & b \neq 4 .\end{array}\right.$
(2) If $b=4$, then $c_{n}=\frac{3 n+1}{4}$, which clearly does not satisfy the condition.
If $b \neq 4$, then
$c_{n}=\frac{4(b-1)}{b(b-4)}\left(\frac{b}{4}\right)^{n}-\frac{3}{b-4}$.
When $b>4$, $\frac{4(b-1)}{b(b-4)}>0$, so as $n \rightarrow+\infty$, $c_{n} \rightarrow+\infty$, which does not satisfy the condition.
(i) When $0<b<1$, $\frac{4(b-1)}{b(b-4)}>0$ and $-\frac{3}{b-4}>0$.
Thus, $c_{n}$ is a monotonically decreasing sequence, and $c_{n}>0$.
Therefore, it is sufficient that $c_{1} \leqslant 2$, which is clearly true.
(ii) When $b=1$, $c_{n}=1$, which clearly satisfies the condition.
(iii) When $1<b \leqslant \frac{5}{2}$, $\frac{4(b-1)}{b(b-4)}<0$ and $-\frac{3}{b-4}>0$.
Thus, $c_{n}$ is a monotonically increasing sequence.
Since $c_{1}=1>0$, we have $c_{n}>0$.
To ensure that $\left|c_{n}\right| \leqslant 2$ holds, it is sufficient that
$$
\lim _{n \rightarrow \infty} c_{n}=-\frac{3}{b-4} \leqslant 2 \text {, }
$$

which implies $1<b \leqslant \frac{5}{2}$.
In summary, the range of the real number $b$ is $\left(0, \frac{5}{2}\right]$.