I highly doubt that this sort of thing happens anywhere near often enough to put any noticeable load on the server. It would have to happen many times per minute to create noticeable additional server load, and I doubt if it happens as often as once a day.
There's really no point in creating a new account and asking again. As others have pointed out, if the user asks the question again the same way, it will be closed again for the same reason(s) - and it won't go unnoticed that it's identical to a recently closed question. Also, keep in mind that closed questions would be very unlikely to have received any help if they hadn't been closed, for the very same reasons why they were closed. So reposting isn't going to accomplish anything positive.
If, on the other hand, the user wants improve the question and resubmit it, then there's no need to create a new account. Having a question put on hold and closed doesn't automatically suspend your privilege to ask questions; question bans are only imposed if there's a pattern of asking bad questions (for example, repeatedly creating new accounts to resubmit questions identical to ones that have been closed would probably do it...) If you want to resubmit an improved question, you can do it with the same account. In fact, you can (and should) do it without even writing a new post; just edit the original question that was put on hold, and if the problems that caused it to be put on hold are adequately addressed by the improvements, it will be reopened.
Putting questions on hold accomplishes exactly what you called the "Best Solution" - helping users who ask poor quality questions learn how to ask better questions.