Per the network policy, except in the case of duplicates, questions are put "on hold" for five days before being closed. This is, essentially, exactly what you are asking for. The user is given five days to edit their question, during which time, if edited, the question will be put in the reopen queue.
If a question has been closed (except as a duplicate), then for the first 5 days, it is marked as “on hold” rather than “closed”. This is meant to convey that the question requires improvement and may be reopened if improved. During this period, if the question is edited by the asker (now by anyone), it will be added to the reopen queue. Other than this, there is no functional difference between “on hold” and “closed”.
While this is essentially the same as being "closed", there is absolutely no reason to leave the question in an "open" state if it can not be answered or if it is such poor quality, it is unwanted on the site.
These questions should not be answerable by users because, if they are answered, then the people posting them will continue to post them rather than learning how to properly ask for assistance on Stack Exchange, which will break the sites. Preventing answers is how we force quality. If they won't fix their question, we will not allow people to answer it. I'm not quite sure why you think the question being "on hold" or "closed" prevents the user from editing - it does not.
The asker is often annoyed at the closing.
They should be! They should be annoyed and work to rectify the situation. Complaining about the question being closed doesn't make it a better question and, if the question doesn't get closed they are less likely to fix it... for the very reason that it's still open so it "clearly can't be that bad"...
I do not see how forcing trusted users to wait two days to close a question is beneficial or useful... on many sites, two-day-old questions are either answered or ignored. No one is going to go to the effort of finding old questions that need to be closed because the OP never fixed them when they were originally asked. They need to be closed now and reopened when fixed.
The system as it is, works. I see no need for change.