First off, excellent suggestion, thanks for writing this up. We discussed this extensively internally, and while I'm declining it right now I don't think it's without merit -— it's just not something we think is worth the added complexity right now.
We heavily discourage thanking people here. Not because we're rude, ungrateful people -— that's an unrelated issue -— but rather because it is noisy. Instead, we provide the folks asking questions with a built-in way to say "thanks" -— the ability to "accept" an answer. This isn't predicated on reputation or experience, but rather on the simple fact that you had a problem and someone tried to help you solve it.
... …Except when there is an accepted answer. Then it always appears first. Regardless of sort order. This one little inconsistency was added as a way to highlight the importance of an answer which is presumed to have actually helped at least one person solve an actual problem they faced. In practice, other readers tend to agree with the asker in the vast majority of cases.
Well, there's this one -— unpinning when the answer score falls below some score threshold. And its slightly more complicated cousin, which wishes for downvotes to be considered by themselves. The only real issue with the former is that it adds complexity to a conceptually-simple system; the issues with the latter are detailed in the answers there.
As the example given above illustrates, simply deleting very bad answers can be an effective strategy here -— this isn't always appropriate, but it does limit the potential for confusion. Of course, in cases where they can be edited without seriously deviating from the original meaning or intent, then that is preferable.
###Gallbladder B: Accepted answer stats for ProgrammersSoftware Engineering
(I would link to a SEDE query for this, but...but… SEDE is throwing fits today due to some ongoing maintenance.)