I love that this community, it is so helpful to everyone. Hope your son makes the JUCO route.
But in your original post you ask, "What are we missing?"
It is too late to raise your GPA. You can't take the SAT or ACT to make it matter for your 2020 son now.
Your son may not be dumb or unmotivated, but yes he is mostly judged on his GPA and test scores. Let me repeat that, HS students are mostly judged by their GPA, test scores, extra circular activities, and essays for college admissions.
Player 1 6’0”, 185 lbs 3.2 GPA 1150 SAT
Player 2 6’0”, 185 lbs 2.8 GPA 920 SAT
If you where a coach, which player would you accept into your program.
That is the way the world works. You can't complain about it after the fact. For whatever reason your son was motivated in the wrong activity. If you wanted him to be a pilot, that is great. If you wanted him to be a baseball player in college then he didn't work on what he needed to.
You have some blame in this. You have been a member on this site since 2015. You must have read countless posts confirming that grades matter. You have been to the Senior Fall classic so you should be familiar with the Senior All Academic try out. You need a 3.7 GPA or an ACT of 27 or higher or SAT score of 1200 higher. Was this not an indicator?
I'm sorry if I sound mean. Don't take this the wrong way. I'm just speaking the truth. Hope your son goes on to play in JUCO. But if he wants to consider a transfer to a D2 or a D1, guess what, grades will matter then too.
Think about my situation. My son is 5'7", 140 lbs soaking wet. No matter how hard he works at it, he is not going to be 6'0. But he worked hard on his grades and his game and was able to make a D3 program. Your son has the size, but he worked hard in want, flying, and you are asking "What are we missing".
Best of luck to your son.