So paying someone not to testify would be illegal. Now, if witnesses had the option of not testifying, you might be worried that they would illegally take cash under the table to refuse to testify. That's true, but we already have the equivalent problem in the existing system, where witnesses can be forced to testify but you could just as easily bribe them to lie on the stand.
Except that under the current plan, we're both committing a crime (one is bribing, the other is perjury). If a person can choose whether to testify or not, I don't see how that's bribery rather than just ol' fashioned lobbying. (And we haven't touched the more obvious underhanded "Hey, I'd like to hire you for $$$$ money for this job starting out of state" methods - if you aren't compelled to testify, it's a lot easier to just make it too inconvenient to bother coming back.)
Well, here's a difference: there is a cost to the defendant if they're forced to testify (self-incrimination). What is the equivalent cost to the witness?
And a more interesting question - what happens if the witness is forced to the stand and declines to take the oath? Can the government force you to take the oath under duress?
Well yes if the defendant is guilty and they're forced to testify, they might get caught, but is that a bad thing? Unless a law is really unjust, dont' we want guilty people to get caught?
If you're worried that someone innocent will be put on the stand, declare their innocence, and then get railroaded anyway, I already responded to this in the original article -- if the court is corrupt or incompetent enough to railroad you without sufficient evidence, they can do that with or without your testimony.
I think you're sidestepping a couple points here. It's entirely possible that there are any number of reasons I don't want the guilty person to get caught. You mention "unjust law". Let's add "close friend/family member" and "I don't want to get involved" as the obvious reasons why a person may want an *accused* person to go free, but society at a whole doesn't.