I recommend "A Black Opening System for the Rest of Your Chess Career" by Andrew Soltis. He advocates the Caro-Kann against 1 e4, and gives moves to play against all of the main variations. (He recommends the Slav Defense [1 d4 d5 2 c4 c6] against 1 d4.)