I think there should be a rookie cap---but not like in the NBA. Football carreers are shorter--so the players need to be paid more upfront.
They should 'modify' compensation in the first 2 years and provide for a steep step up later....avoiding disasters while still protecting the young player in this dangerous and shortlived profession.