14
Orphan blocks (in that meaning) are not a network-wide condition. They're an implementation detail (and arguably a bug).
Orphan blocks are simply blocks for which a particular node in the network doesn't have the parent yet. It doesn't mean that parent does not exist.
Since Bitcoin Core 0.10, this concept simply doesn't exist anymore. They were a side effect of the old block fetching logic that requested whatever other peers offered. In the new "headers-first" logic, the headers are downloaded and validated first, before blocks are requested. This gives guidance to the node about what to download and in what order. Since that change, blocks are never requested before their parents are known, and if a peer were to send a block unsolicited anyway, it is simply discarded as a protocol error.