I believe Stroup showed a long time ago that the best solution is to price parking so that there is an average of one empty parking spot per block.