I don't really see it as "the greater good". I see it as nonsensical. We were told throughout BB that he wanted to be a symbol, that he wanted to shake people out of apathy. And of course, you start to see that at the beginning of TDK, ie., people are seeing Batman as a positive symbol in Gotham, criminals are scared of him, DAs are now fighting against the mob(with help from Batman), etc. But then to just throw away the already positive symbol, in order to protect the legacy of a man who turned insane(also for nonsensical reasons), is just a bit counter productive.
Now, don't get me wrong. I understand why they wanted to protect Harvey's name/legacy, but why do that while also tarnishing Batman's? Batman himself is already regarded as a positive symbol to stand up to the criminals and unjust. Why throw all that away, just so Harvey is the only "true" hero? Why not both? Why not just cover up his murders? But of course, they used a scapegoat(who was the actual hero and not the villain), instead of just keeping all of these murders "unsolved mysteries".
The better option if they needed a scapegoat: blame it all on one of Joker's dead goons. Problem solved, and Batman could still work, and help stop criminals like Selina, who obviously had a mile long rap sheet. But at the same time, you wouldn't have this weird uplifting speech from Gordon at the end, which now makes no sense, since TDKR came out.