I mean you're really talking about 6 teams out of what, 138? You might see a lower fan base for Ohio State or Alabama of fans that don't ever go to a game, didn't go to school there and aren't from the area. But ultimately most of the fans will stick in my opinion. Plus those school would still have the advantage of picking the top coaches, having the top facilities and the best scouts. So they would still likely rise to the top.
Now the logistics of a salary cap will probably never make it possible. School 138 would never have the money to pay what school #1 would without massive revenue sharing that these teams would never do. And you'd have to get the SEC, Big 10, Big 12, ACC and everyone on the same page. Which would also be problematic because you can't have a salary cap in the SEC/Big 10 but then compete against a school in the Big 12 who has no salary cap. So realistically I don't think a cap is going to happen.
I do think changes need to be made. This letting guys play for 6+ years, jump schools every year, back out of deals for money is hurting the sport. Fans want to know their players, they want to root for the guy they were excited to sign on recruiting day. And the fact that a kid can jump around every year for a big payday is ruining it.