I'm still on the fence about recasting. It's not a moral issue. The show must go on, that's what they say. And I'm sure Heath Ledger, being the true professional he was, would understand that. It's a practical issue. If Heath Ledger's take on The Joker is as definitive as it seems set to be... where else is there to go from there? If you can't get someone who can top or at least match Ledger's unique portrayal... then why bother?
Also, consider that it would be a thankless role for whatever actor took it. However good they were in the role, they'd be playing against public opinion. They'd be under Ledger's shadow, and fans of THAT performance would probably come to the conclusion long before the film's release that Ledger's successor doesn't match up to the original. Then there's the people who would attack WB, Nolan and the actor itself for "cashing in" on Ledger's death. I don't think that's right, but it's how some people think. What does an actor do in that situation? Try and slavishly imitate Ledger to pay respect to his legacy, and come across as Ledger-lite? Or try something different, and risk hurting continuity between films?
However, if they WERE to recast The Joker, I'd say my pick would be Casey Affleck.
His age, build and acting ability is comparable with Ledger, but he's different enough that he could bring something of his own to the role rather than being a Ledger clone.