Although I haven't tried Flow, I have taken a glance at it's Maybe Types. I don't think that it is possible to work around libraries and browser APIs returning nulls, and undefined seems to be completely ignored. I think if you want to get rid of null/undefined then you have to use a complete different language, something like Elm, but I would welcome being proven wrong.
What do you mean it's not possible to work around libraries and APIs returning nulls? That's exactly the point I made, Flow solved it.
Yes, they had to write interface for all browser APIs (and it's incomplete, PRs welcome), and in places where API might return null it states that it may return it. And your code has to deal with null and non-null cases explicitly (or at least put an if).
You are right though that this type-system is much weaker than other languages like Elm or Haskell, and for me, being from a Haskell world, writing JS with Flow was still a disappointment. It's just that currently there's no better alternative I know in terms of interop with JS and good level of error-reporting.