My kid waited until the very last day - April 30 - to turn down Harvard. It wasn’t easy for him. We made it very clear that it was his life and he should go to the best fit. We both went to the accepted student events at Carnegie Mellon, and I have to say they sold themselves to me as well. It took dh a little longer to warm up, but when we dropped him off and he heard the Dean of SCS speak, he was as impressed as I was.
For CS, and a quirky kid, I would also choose CMU over Harvard. Closer to home, I think you have a nice selection. Students still mature over senior year, and so it is good to have options to choose from and hopefully he will have several possibilities by the time he decides.
If you are going to CMU on your way to Michigan, then maybe stop by Case Western if you have time to spare. My son interviewed at both CMU and Case. He liked both schools very much, and Case was extremely generous with merit aid and (in his words) a little less intense than CMU.
You may want to look at College of Charleston . It’s not a large school . They have a computing in the arts degree that may be of interest to your son. He would be eligible for the Honors College which would offer him more guidance and support. With his scores , he would probably be eligible for some of the larger merit scholarships offered by the Honors College.
Harvey Mudd–great CS, super quirky, he’ll fit right in & come out an absolute CS beast.
I would totally suggest Swarthmore. It wasn’t a good fit for me, but I feel like your son would fit right in. Also, Case Western Reserve and maybe Carnegie Mellon Uni.