If you present the same data to 5 different gardners, chances are they will tell you 5 different things and they all think they are right. The weather algorithm is just an algorithm, it’s not human intelligence, it can’t read your mind. That’s why you are given parameters which you can tweak to fit your own specific need. You can’t expect it to work perfectly with the default settings. I think your expectation is too high.
“150% in the afternoon when no sane person would water” — I don’t think everyone agrees on that. If you don’t want it to water in the afternoon, then just not schedule a program in the afternoon. As I said, the algorithm can’t read your mind, but there is enough flexibility in the firmware that you can configure it to better fit your need.
That said, if you observe the watering percentage change during a day (sounds like you do, since you mentioned 0% at night and 150% in the afternoon) — then perhaps you are hosting your own weather server? If you use the official OpenSprinkler weather server, it uses caching so the watering percentage during a day does not vary.
About ETo: yes, of course you should tweak the ETo. That’s mentioned in the support article that explains the weather algorithm: