I think it would be optimal if the probability to produce a block , was related only with the % of votes each witness has! Like it happens for the witnesses after position 19 !
If the account is not in the top 19 by vote, they still have a chance to be selected as a block producer through a timesharing algorithm that is weighted by their votes.
An algorithm that select the runner witness as a block producer with a frequency (relative to other runner witness candidates) proportional to their votes (relative to other runner witness candidates). So if a witness is at rank 20 with twice the votes of the witness at rank 21, the rank 20 witness should be scheduled as a block producer twice as frequently than the rank 21 witness.
...read more here:
https://steemit.com/steem/@arhag/how-the-new-witness-scheduling-algorithm-works