That's a good point about the visibility of achievements. Having a whole in-game page listing all the achievements and your current progress goes even further toward killing the enjoyment of getting them.
But game companies have designed themselves into that corner. Take Borderlands for example.
Kill 10 Scags (numbers are inaccurate)
Kill 100 Scags
Kill 1,000 Scags
Rinse and repeat that for every enemy type in game. (At least Borderlands gives you XP for those achievements, but even that is a little trite considering XP is one of the few things they can give you as a meaningful reward. Even gear rewards are shit for the most part because the whole game throws loot at you non-stop.)
Borderlands COULDN'T get away with not listing the achievements and tracking them, because they have so many and all of them revolve around #'s of things. Many other games fall into the same trap.
But I agree. Here's a novel idea: Only award achievements at the end of the game. Do not list achievement requirements until the first play through is completed.
Normally I hate achievements with nothing attached to them. But de-emphasizing achievements during game play means people don't obsess about killing x amounts of stuff. That kind of activity is rarely as fun as it could be, and is usually accomplished in the easiest, quickest way possible.
It'd give people a reason to replay too, and inspire them to play different ways. Sure, they'll still be doing it "for the One-Armed man achievement", but the choice to play a certain way through the whole game would be an experience in and of itself.