I'll use "complex" to mean "nonnegatively graded (cochain) complex". Of course if you have a bounded below cochain complex, up to a shift one may assume we are in this situation.
Here's a direct argument, that singles out the essential bits of the "model-category argument" that I sketched in the comments. It turns out that the important things you need are as follows (and they're not model-category-theoretic in nature, you actually need them to prove that the injective model-structure exists, or at least the first 2) :
1) Suppose $f:A\to B$ is a degree-wise monomorphism that is also a quasi-isomorphism, and $g:C\to D$ is a degree-wise epimorphism with a kernel that is a complex of injectives, then $f$ has the left lifting property against $g$, that is, every commutative square
$$\require{AMScd} \begin{CD}
A @>{}>> C\\ @V{f}VV @VV{g}V\\
B @>>{}> D
\end{CD}$$
has a diagonal map $B\to C$ that makes the whole thing commute (that is, the two triangles commute)
2) If $\alpha\circ \beta$ and $\beta$ are quasi-isomorphisms, then so is $\alpha$
3) Let $I\to J$ be a quasi-isomorphism of complexes of injectives. Then it is a chain homotopy equivalence.
With these 3 tools, you can conclude in the following way :
Note that an injective resolution $A\to I$ is a degree-wise monomorphism that is also a quasi-isomorphism, and that if $J$ is a complex of injectives, $J\to 0$ is a degree-wise epimorphism with degree-wise injective kernel. Therefore, if $A\to I,A\to J$ are injective resolutions, we have the following square
$$\require{AMScd} \begin{CD}
A@>{}>> I\\ @V{}VV @VV{}V\\
J @>>{}> 0
\end{CD}$$
that satisfies the hypotheses of 1), so that there is a lift $J\to I$. The top triangle consists of 2 quasi-isomorphisms and the map $J\to I$ so by 2) $J\to I$ is a quasi-isomorphism. Thus by 3) it is a chain homotopy equivalence.
Proving 2) is fairly easy : prove that it holds for isomorphisms in any category, then note that a quasi-isomorphism is just some arrow $\alpha$ with $H^*(\alpha)$ being an isomorphism.
The idea for 1) is that each $C^n\to D^n$ has injective cokernel, so locally it is $C^n\simeq D^n\oplus I^n$ for some $I^n$, which you can then use to get a lift $B\to C$ by induction, because you already have $B^n\to D^n$, and you just need to pick a lift $B^n\to I^n$ of $A^n\to I^n$, but you can because $I^n$ is injective. Then you need to adjust the lift a bit to fit with the differentials that came before. For that you can use the cokernel of $A\to B$, which, by the long exact sequence in cohomology, is acyclic; and its acyclicity will allow you to do the adjustments. If you want I can give more details.
To prove 3), following Weibel, we first use a lemma : let $C$ be an exact cochain complex and $I$ a complex of injectives. Then any map $C\to I$ is nullhomotopic. This is a pretty standard/straightforward exercise in homological algebra that I'll leave to you.
Then let $f:I\to J$ denote our quasi-isomorphism, and consider $cone(f)$ : since $f$ is a quasi-isomorphism, it is exact. Moreover, we have a natural map $cone(f) \to TI$ where $TI^n = I^{n+1}$ which is a complex of injectives. It follows that the map $cone(f) \to TI$ is nullhomotopic.
Then one checks by some computation (see Weibel, proof of 10.4.6) that this provides a map $J\to I$ that, composed with $I\to J$ is homotopic to $id_I$.
In particular, the composition $I\to J\to I$ is a quasi-isomorphism, so the map $J\to I$ must be one too. Therefore, by what we just did, we get a map $I\to J$ such that the composite $J\to I\to J$ is homotopic to $id_J$.
Then in the homotopy category, $J\to I$ has a right-inverse and a left-inverse, it is therefore an isomorphism, and the two inverses are equal, so by going back to the original category, we see that the map $J\to I$ is a quasi-inverse to our original $I\to J$ (since its other inverse is homotopic to it, and homotopies compose)
We used that our complexes were nonnegatively graded in the proofs of 1) and 3) : in 1), it's to start off the induction and define the lift; in 3) it's to claim that a chain map from an exact complex to a complex of injectives is nullhomotopic, again it's to start off the induction (I left that as an exercise for you !)
ADDED (more words on 1) ) : I strongly recommend that you draw the diagrams yourself ! I will try to draw some here, but MSE is really annoying with commutative diagrams so I won't draw that many, and they won't be that good.
Let $I$ denote the kernel of $C\to D$: it is a complex of injectives, so locally we have a splitting $C_n\simeq D_n\oplus I_n$. Of course, a priori, this splitting is not a splitting of complexes, this is why we need to work to adjust the lifts along the way.
Let $K$ denote the cokernel of $A\to B$. By hypothesis and by the long exact sequence in cohomology, it is an exact complex. Note that the hypothesis of quasi-isomorphism together with the fact that our complexes are bounded and that $A\to B$ is a pointwise monomorphism in positive degree imply that $A^0\to B^0$ is a monomorphism too.
Let us build the lift by induction (we will call it $h$)
Let $k^0 : B^0 \to I^0$ be a lift of $A^0\to C^0\to I^0$ to $B^0$ : it exists as $I^0$ is injective and $A^0\to B^0$ is a monomorphism. Then $h^0: B^0\to D^0\oplus I^0 \overset{\simeq}\to C^0$ is clearly a lift on the degree $0$.
Now let's assume we have compatible lifts up to degree $n$ :
we have $h^k:B^k\to C^k$ that makes the square with diagonal commute in degree $k$ ,and $d^k_C\circ h^k = h^{k+1}\circ d_B^k$ for $k+1\leq n$.
Our goal is to build $h^{n+1}$. Note that $C^{n+1}\simeq I^{n+1}\oplus D^{n+1}$ and the map $B^{n+1}\to D^{n+1}$ is fully determined so we only need to get $B^{n+1}\to I^{n+1}$. Now $A^{n+1}\to B^{n+1}$ is a monomorphism and $I^{n+1}$ is injective, so we can extend it to $B^{n+1}$ : we get $\tilde{h}^{n+1} : B^{n+1}\to C^{n+1}$ that makes the square in degree $k+1$ commute, the problem being that it isn't necessarily compatible with the differentials: the discrepancy is "measured" by $a:= d_C^n\circ h^n - \tilde{h}^{n+1}\circ d_B^n$. (here I recommend drawing a sort of cubical diagram which consists in the commutative square in degrees $n,n+1$, the differentials between the two, and $h^n,\tilde{h}^{n+1}$ to see what's happening)
If we can write $a=\epsilon\circ d_B^n$ with $\epsilon$ with values in $I^{n+1}$, by putting $h^{n+1} = \tilde{h}^{n+1}+\epsilon$, we will be done and the induction may proceed (check this !). To do so we will use injectivity of $I^{n+1}$ and exactness of $K$.
Note that $a$ lands in $I^{n+1}$ and vanishes on $A^n$ (this is a simple diagram-chase by remembering how $\tilde{h}^{n+1}$ was defined and remembering why a few diagrams commute -use the diagram you drew above and compose with the correct things), therefore it factors as $B^n\to K^n\overset{\alpha}\to I^{n+1}\to C^{n+1}$
Then, note that by the induction hypothesis (compatibility of $h^n$ with lower degree differentials), $a\circ d_B = 0$ and this forces $\alpha\circ d_K=0$ (as the projection $B\to K$ is an epimorphism), so $\alpha$ factors as $K^n\to K^n/\mathrm{im}(d) \to I^{n+1}$. But $K$ is exact, therefore $K^n/\mathrm{im}(d) = K^n/\ker(d) = \mathrm{im}(d)$, and so we have a map $\mathrm{im}(d) \overset{\beta}\to I^{n+1}$
$\mathrm{im}(d) \hookrightarrow K^{n+1}$ and the injectivity of $I^{n+1}$ allow us to extend $\beta$ to $b: K^{n+1}\to I^{n+1}$, and thus by composing with the projection $B^{n+1}\overset{\epsilon}\to I^{n+1}$. It now remains to check that this $\epsilon$ satisfies what we wanted. First of all, it lands in $I^{n+1}$, as desired. And then the equation with $\epsilon\circ d$ is just a consequence of how everything was defined, and I'll leave that verification to you (it involves drawing a diagram containing $B^n, B^{n+1}, K^n, K^{n+1}, I^{n+1}, \mathrm{im}(d),C^{n+1}$)
Then proceed in the induction, and at the end you get your chain morphism $h:B\to C$ filling in the diagram. Here, we used that everything was bounded below (at $0$, but of course this is a notational simplification) to start off the induction.
Best Answer
I was looking for a slick proof of the same fact, avoiding taking the Cartan-Eilenberg resolutions, so I came across this question. I think the proof with Cartan-Eilenberg resolutions is an overkill; it is useful for different reasons, namely for the spectral sequences associated to the corresponding total complex.
Let me write down a direct proof by induction. Even though the question is old, it might be useful to someone.
First of all, note that
Namely, one defines $C (f)$ to be the complex consisting of objects $$C (f)^n = I^n \oplus A^{n+1}$$ and differentials $$d^n_{C (f)} = \begin{pmatrix} d^n_I & f^{n+1} \\ 0 & -d_A^{n+1} \end{pmatrix}\colon I^n \oplus A^{n+1}\to I^{n+1} \oplus A^{n+2}.$$ This complex sits in the short exact sequence $$0 \to I^\bullet \to C (f) \to A^\bullet [1] \to 0$$ and in the corresponding long exact sequence in cohomology $$\cdots \to H^{n-1} (C (f)) \to H^n (A^\bullet) \to H^n (I^\bullet) \to H^n (C (f)) \to \cdots$$ the connecting morphism $H^n (A^\bullet) \to H^n (I^\bullet)$ is actually $H^n (f)$. This shows that acyclicity of $C (f)$ indeed corresponds to all $H^n (f)$ being isomorphisms.
Now we may construct the complex $I^\bullet$ by induction, and at each step our goal is to keep $C (f)$ acyclic.
For the induction base, if $A^k = 0$ for all $k \le N$, we may put $I^k = 0$ for all $k \le N$.
For the induction step, let's assume we have defined in degrees $k \le n$ injective objects $I^k$, differetials $d_I^{k-1}\colon I^{k-1}\to I^k$, and morphisms $f^k\colon A^k \to I^k$ such that $d_I^{k-1}\circ d_I^{k-2} = 0$, the differentials $d_A$ and $d_I$ commute with $f$, and the cone $C (f)$ is acyclic in degrees $k \le n-1$.
$$\require{AMScd}\begin{CD} \cdots @>>> A^{n-1} @>d^{n-1}_A>> A^n @>d^n_A>> A^{n+1} @>>> \cdots \\ @. @VVf^{n-1}V @VVf^nV \\ \cdots @>>> I^{n-1} @>d^{n-1}_I>> I^n \end{CD}$$
We are going to define $I^{n+1}$ and morphisms $f^{n+1}\colon A^{n+1}\to I^{n+1}$ and $d^n_I\colon I^n \to I^{n+1}$, such that
The last condition suggests that we should do the following thing: take the cokernel of the differential $d^{n-1}_{C(f)}$: $$I^{n-1}\oplus A^n \xrightarrow{d^{n-1}_{C(f)}} I^n\oplus A^{n+1} \twoheadrightarrow C^{n+1}$$ Sadly, $C^{n+1}$ doesn't have to be injective, but we can always pick a monomorphism $C^{n+1} \rightarrowtail I^{n+1}$ to some injective object (using the hypothesis on enough injectives).
Now the morphism $$I^n\oplus A^{n+1} \twoheadrightarrow C^{n+1} \rightarrowtail I^{n+1}$$ is uniquely determined by a pair of arrows $I^n \to I^{n+1}$ and $A^{n+1} \to I^{n+1}$, and it's tempting to call them $d^n_I$ and $f^{n+1}$.
The composition $$I^{n-1}\oplus A^n \xrightarrow{d^{n-1}_{C (f)}} I^n\oplus A^{n+1} \xrightarrow{(d^n_I, f^{n+1})} I^{n+1}$$ is zero by our construction, so $$(d^n_I, f^{n+1}) \circ \begin{pmatrix} d^{n-1}_I & f^n \\ 0 & -d_A^n \end{pmatrix} = (d^n_I\circ d^{n-1}_I, d_I^n\circ f^n - f^{n+1}\circ d^n_A) = (0,0).$$ We obtained the desired identities $d^n_I\circ d^{n-1}_I = 0$ and $d_I^n\circ f^n = f^{n+1}\circ d^n_A$. The complex $C (f)$ is acyclic in degree $n$ by our construction.
We are done.
Note that this argument generalizes the proof that one normally uses when the complex $A^\bullet$ consists of a single object: we repeatedly take certain cokernels and then embed them in injective objects.
The very same argument dualizes to show that
Namely, for the induction step you have to take the kernel of the differential of $C (f)$, and then pick an epimorphism from some projective object: $$P_n \twoheadrightarrow K_n \rightarrowtail A_n \oplus P_{n-1} \xrightarrow{d_n^{C (f)}} A_{n-1}\oplus P_{n-2}$$ (The numbering is homological now.)