Starks was actually 30 heading into the season. But point taken on his age.
However, he averaged 4.1 per carry last season, and another 9.1 per reception (career best) on 43 catches. So again, going off the evidence they had, it still seemed Starks could play.
Beyond that, they signed him to a reasonable contract where they could release him without much impact. As far as I can tell, there wasn't anyone out there predicting the demise of Starks, nor was anyone concerned about the contract he signed.
http://www.espn.com/blog/green-bay-packers/post/_/id/28743/james-starks-new-two-year-contract-gives-packers-flexibility
"The way Starks’ contract is structured, they could release him after one year and save $3 million on their 2017 salary cap if he didn’t repeat his performance from last season, when he set a career high for rushing yards (601), receptions (43), receiving yards (392) and touchdowns (five).
Starks will turn 31 years old shortly after the 2016 season ends. If the Packers wanted to move before next season,
they would only be on the hook for $750,000 of his prorated signing bonus on the 2017 cap. His $3 million in pay (base salary plus bonuses) would be wiped off their books.