I checked Eddie on Linux and Android in parallel, thrice, with some delay between them. Star ratings from Linux with Speed rule.
#1, Subra seems like the better one due to latency.
Linux: Subra 13ms 62% 119u (3-star)
Android: Taiyi 26 ms 65% 112u (0-star)
#2 Diphda seems slightly better due to latency and load.
Linux: Diphda 12ms 48% 128u (3-star)
Android: Taiyi 18ms 65% 112u (0-star)
#3 After a ~15min delay. Very similar results, but Linux chose again marginally better.
Linux: Garnet 13ms 56% 121u (3-star)
Android: Taiyi 13ms 58% 124u (0-star)
Android's fixation on Taiyi is interesting, but not a bad choice in all cases.
#1 UK. Comparable. None is better than the other.
Linux: Chow 26ms 29% 104u
Android: Naos 24ms 35% 99u
#2 Sweden. All are bad choices, even if Linux chose marginally better. The Kustbandet servers are somehow ignored completely, there are no load and no users on them.
Linux: Norma 24ms 79% 167u
Android: Copernicus 25ms 86% 162u
#3 Japan. Iskandar is a slightly better choice.
Linux: Iskandar 234ms 52% 76u
Android: Albaldah 236ms 76% 85u
In regards to the scoring rules, an idea. A math formula incorporating clients, load and latency, times a modifier for the scoring rule. Something that maybe rates clients, load and latency = 0 best, so one can use the lowest result.
I'm not a math whiz, frankly, but maybe use a function where y grows exponentially. The parabola comes to mind, f(x) = x^2, where f(0) = 0. Drawing a bit in a graphical calculator, something like 0.0001 * x^2 * (modifier) * x looks promising. Calculate this for all three, sum the result, lowest is best server. Gives some flexibility in that it's easy to add further data points to the calculation, or a broader selection of modifiers. I think it would even enable users to set the modifiers themselves because all scores will be based on this parabola function.
Modifier can also be in front, (mod*0.0001) * x^2. Then you'd set it as integer (default 1), and rising modifiers cause the curve to steepen quicker.