Don't blame the ruling, blame the companies that put profit over ethics. If a company actually rewarded employees for whistleblowing, instead of punishing them by firing them, then the company should not be worried about the fiscal incentive to report to the SEC instead of internally. A company willing to fire an employee rather than fix internal criminal activity isn't worried about the incentive effect of it's behavior on other companies' employees.
As another poster commented, most companies have internal anonymous tip lines, to ensure an employee isn't retaliated against. An employee seeking to be rewarded may go directly to the SEC, but that reward is predicated on the company being found guilty of illegal actions that were reported. That is a long time to wait for a reward. Even with whistleblower protection in that case, things won't be pleasant for the whistleblower at that company.
Company retaliation is despicable, but if an employee reports criminal activity internally, how can the SEC know a dismissed employee was a whistleblower who was retaliated against? The SEC still knows nothing about the activity or who reported it.