One of the peskiest problems of leaning too heavily on a gene-centric model these days is that the definition of the word ‘gene’ gets ever more various and slippery. Even as a technical term, the word carries at least a half-dozen meanings, and more are added as science finds new tools for exploring the genome. This alone makes it either a poor candidate for a popular meme — or, if you value flexibility over exactitude, perhaps a perfect one, since its meaning can be defended or reshaped or expanded to suit the occasion. If you expand the meaning to be ‘the thing essential to all true heredity and selection’, you can then give the gene primary credit for any discovered or proposed evolutionary force in which the gene seems to be involved — and reject outright any proposed evolutionary force that doesn’t seem to involve genes.
"Gene" is indeed an overloaded term - but this type of overloading happens to many popular terms. "Evolution, "selection" and "meme" have become similarly overloaded. What happens is that when such terms become widely used, people adopt them, add their own interpretations and bend them to their own ends. The term "gene" having multiple meanings isn't a very good reason to reject it - rather it is a consequence of its widespread popularity.
IMO, notions of "gene" that don't boil down to something like "unit of heredity" are unscientific. The molecular biology definition of "gene" in particular is very parochial and should not be used by anyone. Genetics is the science of heredity, and genes are the units of heredity. I think there's room for debate about what "heredity" means, but I don't see a coherent alternative to carving things up this way.
As Razib Khan puts it:
Genetics began as inferences about the nature and character of inheritance from observed patterns, not by understanding molecular biological mechanisms. Mendelian genetics flourished 50 years before the final understanding of its molecular basis in DNA.
Here is Steven Pinker, who shares my view:
Molecular biologists have appropriated the term "gene" to refer to stretches of DNA that code for a protein. Unfortunately, this sense differs from the one used in population genetics, behavioral genetics, and evolutionary theory, namely any information carrier that is transmissible across generations and has sustained effects on the phenotype. This includes any aspect of DNA that can affect gene expression, and is closer to what is meant by "innate" than genes in the molecular biologists' narrow sense.Obviously, lots of other people disagree with me about the term "gene". Epigenetics and "not by genes alone" are examples of confusion over this issue. David Dobbs at least seems to recognize that his critique depends on using a narrow definition of "gene" - though he seems to think that using a broad definition leads to issues with falsifiability - which I would dispute.