How about instead of sentencing based on "years", we do it based on a restitution formula for property/theft crimes. For sex/violent crimes, time served until the victim or victim representative grants release. Something like this coupled with a "work in prison" program could go a long way for recidivism.
.
I realize that the above has a lot of holes in it, it's a rough idea. I think a model like this should be explored.