Look at each market and if Tribune or Sinclair wants more money for their channel, agree to it if Dish is about to lose the channel, raise the price for locals to the consumer. If the consumer wants to pay extra for locals, then they do, if not they do without that channel. That way Dish is out of the loop. If the price goes up for Channel A and not channel B, then Dish explains to us that Channel A is charging more so Dish has to. It is unfair for all viewers to lose that channel or group of channels, so those that are willing to pay the extra, get it. Otherwise the rest do without. Then Dish prints the company's phone number to the viewer and the company gets flooded with calls from irate viewers. I really doubt Sinclair or Tribune wants that. Dish will not be the bad guy any longer and the viewer can yell at Station A. There pay be another angle to this, but this can make more viewers happy not to lose their favorite channel.
Unfortunately a lot if the content owners won't allow that (based on previously published info).
Also, calling the local station is useless. They don't control this.
The conglomerate that owns them does.
My local CBS station can't negotiate separately, they are part of Tribune, so Tribune has complete control.