Ironically, I agree with your solution but not some of the reasoning.
Are votes biased toward the first answer?: I suspect the answer to this is yes. I say this partially because it's flattering to myself, where many of my answers are decently voted, but neither the first, nor top voted/accepted answer. But I also suspect it's true - and indeed catch myself doing it from time to time, especially on CrossValidated.
There are many random visitors -- They just click upvote for the first answer (even sometimes without reading it fully) and move on to something else.
I am not convinced at all that this behavior is confined to "random visitors", nor that if we had fewer random visitors this wouldn't be a problem.
This would avoid the extra upvotes by random strangers even though answer is not okay. Am I correct?
Your proposed solution would not avoid extra upvotes - it would just distribute them randomly. Essentially, every answer to the question would get a share of "random visitor welfare votes" instead of concentrating them in the first answer.
Whether this would help decrease the votes to "not okay" answers would depend on whether or not first answers are more (or less) likely to be lower quality. I'm also not convinced this is true.
TL;DR: I like the idea of randomizing answer order, but I think some of your underlying premises are flawed.