Does the matchmaker use SR averages only, or are there unspoken variables?

"A second factor we take into account is ping. " – Jeff Kaplan Overwatch Forums

There is nothing particularly weird about streaks. You’d see similar behavior if you were just flipping coins.

Win probability changes slowly with rank because there are so many random factors in each individual match. Unfortunately, it follows from this that frequent and long streaks will occur, and a player’s rank will oscillate widely. Essentially, a player will tend to bounce between the range of where he is nearly guaranteed to win and where he is nearly guaranteed to lose. The range varies from player to player, but +/- 250 SR/MMR is common and +/- 500 is possible. This problem can be analyzed in depth, mathematically ( Overwatch Forums).

See How Competitive Skill Rating Works (Season 15) for more detail.