None of this has to be for-profit. It just requires the university administration to put its wants, priorities, and head count (!) above the interests of the individual departments and of the students.
Making the whole thing a non-profit or a charity won’t solve this.