While post bans help protect the Stack Exchange network from harm caused by repeated low-quality posts, they deny all further opportunity for the user to post questions or answers, even if there is a constructive intent. Lifting the ban through editing of low-quality posts may not be feasible because there is often no reasonable edit that can make a bad post acceptable; for example, it may not be possible to edit an off-topic question to bring it on topic without dramatically changing the intent of the question.
Instead of fully blocking questions or answers from users who have repeated posted low-quality content, I suggest that they should be placed into a moderation queue, and the question or answer is posted only if at least three users with at least 2000 reputation approve it (the post is rejected if three users vote no). The queue should be accessible from the /review
page. If (and only if) the user fails this moderation process, say, three times in the previous five submissions, should the user should be post-banned as currently implemented. If the user posts enough high-quality content to bring the user back on the "OK to post" side of the post ban threshold, the user's posts should no longer be subject to moderation.
To reduce the impact of this process on the community, such "moderated users" should be rate-limited to one post per hour, should not be allowed to submit another post until the the previous post has been moderated, and should be subject to a four-hour (or possibly longer) penalty period if the previous submission was rejected. The threshold for moderation should be set slightly lower than the current post-ban threshold, so that it "kicks in" a bit earlier than the post ban currently does. Just like the current post-ban implementation, the moderation requirement should apply independently for questions and answers. To protect against users gaming the system, there should be a longer-term limit such as five rejected posts per 6 months before the account is fully blocked from posting questions or answers, and moderators should have access to each user's post moderation records so that they can suspend users that have a continued record of abuse of this process.
A correct implementation of this process should send a clear message that the user's posts are of consistently low quality and require improvement, without totally denying them the opportunity to post better content. This ensures that users have some usable mechanism by which they can improve their overall post quality and avoids the issue with having to edit previous (often deleted) posts to remove the post ban.
I understand this means more moderation work for the community to do. But we should not rely primarily on automation to protect against low-quality posts. The community, including moderators, must do its part to maintain content quality. I understand that Stack Overflow alone gets about 2000 flags every day and we want to reduce the moderation workload, but there is no substitute for human intervention.