I have found that, for myself, implementing standards based grading has eliminated this frustration entirely. I now find grading to be enjoyable.
I have a collection of standards for my course like
"Evaluate the truth value of an expression such as $(T \Leftrightarrow F) \implies (F \wedge T)$"
"Give a Fitch style proof outline for a theorem such as $\forall x \exists y (A(x,y) \wedge (\neg B(x)))$ "
"Prove simple statements about parity and divisibility such as 'The sum of any two odd numbers is even'."
The students are first given "rehearsal sets". These are like "homework". They try their best, submit their attempt to me by a certain date, then gain access to the solutions, make corrections, and resubmit. Grading these is basically for completion and takes no time at all.
They are then given a "performance set" for the standard. These are collections of problems which I believe demonstrate mastery of the standard. They are grouped into "attempts". I might have 15 problems grouped into 5 attempts of 3 problems each. So each student will submit the same 3 problems as their first attempt. If they demonstrate mastery, then they are done. If not, they should get help, read my feedback, and then attempt the second set. They continue this until they either give up on the standard, or master it.
The grade in the course is 15% homework, 10% "honest attempts" at mastering each standards, and the remaining 75% of the grade is derived from mastering standards. There is no such thing as partial credit: either I believe you really understand what you are doing, or I do not, on each standard.
I learned that a lot of my frustration with grading stemmed from the feeling that it wasn't fair, and that my feedback didn't matter. If I deduct 3 points on a problem, and write a paragraph explaining why there was a problem, the student has little incentive to correct the issue: maybe this kind of question will not come up again. The whole course is a guessing game: what kind of question will the instructor ask?
SBG eliminates all of that. I lay out my expectations in extraordinary detail. There is no guessing what I want the student to know: it is all extremely explicit. My feedback is not wasted. When I give feedback, I learn about the present state of knowledge of the student, and the student learns what they need to fix on their next attempt. The student has to persist in learning the content until I deem their understanding suitable. There is no "good enough".