Not sure if it's possible, but it would be nice if flow could refine array type using filter:
function getArray(): Array<?{}> { [{}, {}, null, {}, null] }
const array: Array<{}> = getArray().filter(i => Boolean(i));
Simplest patterns that are already used to refine optional types would be just enough