I like the proof by Paul Monsky:
'Simplifying the Proof of Dirichlet's Theorem'
American Mathematical Monthly, Vol. 100 (1993), pp. 861-862.

Naturally this does maintain the distinction between real and complex
as whatever you do, the complex case always seems to be easier
as one would have two vanishing L-functions for the price of one.

I incorporated this argument into my note on a "real-variable" proof
of Dirichlet's theorem at
http://secamlocal.ex.ac.uk/people/staff/rjchapma/etc/dirichlet.pdf .

There are proofs, notably in Serre's *Course in Arithmetic*
which claim to treat the real and complex case on the same footing.
But this is an illusion; it pretends the complex case is as hard
as the real case. Serre considers the product $\zeta_m(s)=\prod L(s,\chi)$
where $\chi$ ranges over the modulo $m$ Dirichlet characters.
If one of the $L(1,\chi)$ vanishes then $\zeta_m(s)$ is bounded as $s\to 1$
and Serre obtains a contradiction by using Landau's theorem on
the abscissa of convergence of a positive Dirichlet series. But all
this subtlety is only needed for the case of real $\chi$. In the non-real
case, at least two of the $L(1,\chi)$ vanish so that $\zeta_m(s)\to0$
as $s\to1$. But it's elementary that $\zeta_m(s)>1$ for real $s>1$
and the contradiction is immediate, without the need of Landau's subtle result.

**Added** (25/5/2010) I like the Ingham/Bateman method. It is superficially
elegant, but as I said in the comments, it makes the complex case as hard
as the real. Again it reduces to using Landau's result or a choice of other
trickery.
What one should look at is not $\zeta(s)^2L(s,\chi)L(s,\overline\chi)$
but
$$G(s)=\zeta(s)^6 L(s,\chi)^4 L(s,\overline\chi)^4 L(s,\chi^2)L(s,\overline\chi^2)$$
(cf the famous proof of nonvanishing of $\zeta$ on $s=1+it$ by
Mertens).
Unless $\chi$ is real-valued this function will vanish at $s=1$ if
$L(1,\chi)=0$. But one shows that $\log G(s)$ is a Dirichlet
series with nonnegative coefficients and we get an immediate contradiction
without any subtle lemmas. Again it shows that the real case is the hard one.
For real $\chi$ then $G(s)=[\zeta(s)L(s,\chi)]^8$ while Ingham/Bateman
would have us consider $[\zeta(s)L(s,\chi)]^2$. This leads us to
the realization that for real $\chi$ we should look at $\zeta(s)L(s,\chi)$
which is the Dedekind zeta function of a quadratic field. (So if one
is minded to prove the nonvanishing by showing  that a Dedekind zeta function
has a pole, quadratic fields suffice, and one needn't bother with cyclotomic
fields).

But we can do more. Let $t$ be real and consider
$$G_t(s)=
\zeta(s)^6 L(s+it,\chi)^4 L(s-it,\overline\chi)^4 
L(s+2it,\chi^2)L(s-2it,\overline\chi^2).$$
Unless both $t=0$ and $\chi$ is real, if $L(1+it,\chi)=0$ one gets
a contradiction just as before. So the nonvanishing of any $L(s,\chi)$
on the line $1+it$ is easy **except** at $1$ for real $\chi$.
This special case really does seem to be deeper!

**Added** (26/5/2010)
The argument I outlined with the function $G_t(s)$ is well-known to extend
to a proof for a zero-free region of the L-function to the left of the line
$1+it$. At least it does when unless $t=0$ and $\chi$ is real-valued.
In that case it breaks down and we get the phenomenon of the Siegel zero;
the possible zero of $L(s,\chi)$ for $\chi$ real-valued, just to the left of
$1$ on the real line. So the extra difficulty of proving $L(1,\chi)\ne0$
for $\chi$ real-valued is liked to the persistent intractability of
showing that Siegel zeroes never exist.