There are two different OTA guide problems on Dish, though. The first problem (which is the problem that this thread seems to be about) is where Dish does not carry guide data streams for most subchannels at all. That problem could be fixed by simply uplinking more guide data streams for the additional subchannels, as long as those streams could then be mapped correctly.
The second problem is a little bit more complicated to solve though, since it was created by the way that Dish chose to implement OTA guide data mapping. This is the problem where the wrong guide data (for a completely different station) appears on each primary station and subchannel (if Dish is providing subchannel guide data) of a station that is now sharing the same frequency as that other station. The guide data for the host station (and the host station's subchannels) gets mapped to both stations. Dish's guide data mapping is able to recognize the TSID (the master ID that the station is broadcasting, which is the only part of the PSIP data that the Dish receiver uses). The Dish receiver also recognizes the subchannel number for each station (-01, -02, etc.). The problem is that Dish did not provide any way for the receiver to distinguish between two different primary channel numbers (19-01 and 43-01, for example) that are now using the same TSID due to frequency sharing. The guide data for 43 and its subchannels (in my example above) is still being uplinked, but the receiver is still looking for 43's old TSID, to be able to map that data. Since the receiver is now finding 19's TSID instead, that causes 19's guide data to incorrectly appear on 43 in the guide.
The lack of requiring a specific primary channel number (using only TSID and subchannel number) came in handy on the old ViP receivers. Often, if there was weak signal at the time of the scan, the OTA channels would get mapped to their actual frequency (15-01, for example) labeled DTV instead of being labeled with the station's call letters. Another scan (when there is stronger signal) would map this station to 05-01, correctly labeled as WEWS, for example. Since the ViP receivers would allow you to add channels with additional scans (rather than removing any stations not found by the new scan) this would result in the same station appearing both places in the guide. The guide data mapping didn't care. It would correctly put this station's guide data on both "versions" of the channel, and it worked well.
Now, with the way the Hopper OTA scan works, there is much less need for the "map the guide to the TSID regardless of which primary channel number is displayed" feature. Additionally, the frequency-sharing arrangements make this implementation a complete mess, as explained above. So, this is why Dish's OTA guide data mapping needs a complete overhaul.
That still doesn't fix the issue with wrong guide data from the satellite, though. How would the receiver know that the data is wrong, so it could use PSIP instead?