I'm not sure I understand your scenario, but if it's about a suspect turning a "crown witness", we don't have that either. I.e. there are no "prisoners dilemma" type situations. If you want to bear witness against your co-conspirators that probably won't hurt you when it comes to the sentencing phase, quite the contrary, but it's for the court to decide. The prosecutor can't promise to not prosecute. That promise has no legal standing. If you're stupid enough to implicate yourself on the stand, then there are no "get out of jail" cards.
Now, of course, in cases like the Aaron Schwarz case, that wasn't the issue, there were no other potential defendants, and AFAIK those situations are more uncommon in the US. Most cases involve a single defendant plea bargaining. How to address that in a situation with multiple defendants in the US if you want to keep the possibility of "crown witness" is a good question that I haven't put much thought into. If you have an adversarial process couldn't you just address that through the defence and courts i.e. "Your honor, it is quite clear to the defence that this witness is in fact guilty of taking part in this crime and he should be charged accordingly", i.e. make the promise the prosecutor makes to not prosecute null and void?Shouldn't that also make such testimony more reliable, as the potential pay off is no longer a "get out of jail free" card, but the possibility of a more modest reduction of your sentence?
You could argue that that would lead to fewer convictions, but then again, so will any change that takes power away from the prosecution and transfers it to the defendant. If we're more interested in justice than efficiency, then of course we'll successfully prosecute less people, I don't see a way around that.