In the past, the "Improve Edit" and "Reject and Edit" options were just a single option called "Improve". This was the same as "Improve Edit" is today, except there would be an additional checkbox called "suggested edit was helpful". That box was used to indicate whether the Community user should mark the edit as "Approve" or "Reject". Today, the "Improve Edit" button does the same thing, except there is no checkbox and the Community user always marks the edit as "Approve".
In my opinion, useful functionality was lost with the split of the "Improve" button. One could encounter an edit that makes useful changes but overlooks other, more significant changes. The easiest way to fix these today would be to use the "Improve Edit" button, but as you said in your post, often the suggester will just concentrate on the approval and continue to make such edits.
However, there is a workaround. Simply click the "Improve Edit" button, copy and paste the Markdown there (which contains the suggested edit), go back, click "Reject and Edit", replace the original post Markdown with the suggested Markdown you copied earlier, perform whatever other significant edits the suggester missed, and then save the edit. This(If the suggested edit also made title or tag edits, be sure to copy those over as well.)
The above workaround pretty much removes the disadvantages you pointed out for the "Improve Edit" button. (While you can't leave a custom message, the default message "This edit did not correct critical issues with the post - view the edit history for what should have been changed" pretty much summarizes it in most cases. There is a feature request asking for thisthe ability to supply custom rejection reasons for the "Reject and Edit" button.)
While this is not the best action to take in all cases, it does work for the specific case you asked for in your question.