One possible fix would be for Prosecutors to have a karma rating and each time someone is found not guilty of any charge it brings them down a notch. At a certain point then they would have their law license suspended for a time.
That's almost how the current system works, and is a source of much of it's woes. There is no actual "karma rating", but prosecutors are very mindful of their success rates as they are generally considered to be a measure of their worth as a prosecutor and the basis on their future career advancement.
Because of that, once they prosecute someone, they must succeed -- and this leads to situations like the prosecution withholding or trying to hide evidence proving innocence.
Right, a 100% conviction rate could mean any of 1) they are very good at picking their battles, 2) they are very good at convicting innocent people, 3) they are extremely over-conservative in the cases they pursue. Only 1 is a good thing, although lesser degrees of 3 might be as well, depending. 2 is outright bad.