Serious question, and I'm trying to set aside the shenanigans and hate; did anybody expect the harbrau to be such a "meh" recruiter?
No.
Harbaugh's onlyslightly above Michigan's historical "norm" for the Internet Recruiting Era.
I'll give Harbaugh a "pass" on the Class of 2015, since he was only head coach for about five weeks before that class was signed.
In his four full classes, Harbaugh has signed 102 recruits with an average score of .9027, with a the 2017 class being his best per recruit at .9120
From 2002 to 2014, Michigan signed 279 recruits with an average score of .8937, with the 2003 class being the best per recruit at .9135
As stated above, Harbaugh's last four classes have an average per recruit rating of .9027
Ohio State's last four classes have an average per recruit rating of .9315, which is a huge difference. People who do not understand recruiting do not understand this.
Assuming an 85-man roster, If Michigan signed a 25-man class in 2020 with an average per recruit of .9400 (far above their best class ever), then their per recruit average would rise to .9137, still far behind Ohio State's .9315
If Michigan signed another 25-man class in 2021 with an average per recruit rating of .9400, then their per recruit average would rise to .9246
If Michigan signed a 20-man class in 2022 with an average per recruit of .9400, then their average per recruit would rise to .9334, or basically equal with Ohio State.
In other words, Michigan would have to sign three large classes in a row, with a per recruit average far above their best class ever (not to mention their historical norm), just to equal Ohio State. Needless to say, Michigan is never going to sign even one class with a per recruit average of .9400, much less three in a row, so the talent gap will continue in Ohio State's favor unless Ohio State's recruiting falls off dramatically. If the Buckeyes' 2020 class is any indication, that ain't happening any time soon.