With the exception of spammers, who either just get their posts spam-flagged to death or are destroyed by a moderator, the by far most common reason for deleting a user is that the user requests himself that his account be deleted.
The guidelines from SE used to be that we moderators should wait for 24 hours and not immediately delete the account. This is supposed to give the users some time to reconsider, as the request for deletion is often made during some heated dispute. And deletion is not reversible, SE developers can piece together most parts of a deleted account, but that is a manual and incomplete process.
I propose to hardcode this delay into the user deletion mechanism. When a moderator hits the delete user button, a countdown is started until the deletion. This countdown is visible to the user (at least on his profile, also elsewhere if it would be easy to implement), and contains a link to contact the moderators and abort the deletion.
This would not only make sure that users have a chance to reconsider the deletion, but it would also help against mistakes by moderators when deleting accounts. As the recovery of a deleted account is a rather involved procedure, I think it would be worth it to try to minimize the chance of this being necessary.
Doing the whole delay manually has two problems: Moderators actually have to know about this, which is not the case for a large number of moderators, I think. And we have to remember to delete the account later, which can easily be forgotten, especially if one mod thinks another one will handle it.
Deletion of spammers would not be affected, as moderators use the "destroy" feature for them, which not only deletes the account, but also all associated posts.