The eternal question though is how you assign quality of competition. Can't be using the grades from your own model it'd be self-referential, so you've got to pick another metric.
If you're using points that's a small sample size that's going to be extremely swing-y, especially early in the season. Something like xGF/60 might be better, but now you're cutting finishing ability out of the equation. By that metric Ovie's barely better than Dowd or Raddysh, but his actual GF/60 is much higher because as you'd expect, he and his linemates are better finishers.
You could use TOI, but teams don't give ice time purely based on offensive ability. Dowd's 2nd on the Caps in ES TOI/g, while Ovie's down at 7th, so if you go purely by TOI then playing against Ovie would be considered easier usage than playing against Dowd. Even by overall TOI Dowd gets a full two minutes a night more than Protas because Protas isn't on the PP, but he's still obviously the much harder opponent. There's going to be a ton of noise there that'll make it less useful as a metric.
Also, do you account for the usage of the opponents? The Strome line outproduces the PLD line, but they get a lot more offensive zone starts than the PLD line, so do you weight that into the model? Is an individual DZ start against the PLD line necessarily easier than one against the Strome line now that you're holding where the shift starts constant?
And this has all been talking about the offensive quality of the competition. How do you go about measuring the defensive quality of the competition? That's a really key thing here, and why I keep making the Ovie-Dowd comparison, because while Ovie is a harder assignment for a guy whose role is to defend, Dowd is the harder assignment for a guy whose role is to attack. If you try to make a one-size-fits-all metric for QoC you lose the ability to make that differentiation. You basically need two separate metrics for offensive and defensive quality, and the latter is really hard to do and basically the reason we want a QoC metric in the first place and it all loops back around and in on itself and we're kind of hitting on the core reason why it's so hard to do analytics with sports where the same guy contributes to offense and defense simultaneously.
Sorry, that got way longer than I thought it'd be!