The other solution would be to just save all pertinent data for re-rendering.
CSGO, Dota2, etc with their replay functionality allows for going back to the game, booting up a replay and re-rendering at highest possible contemporary settings at the time, in slow motion if need be.
Again, software devs would have to consider it important enough, but then again I curse every game that doesn't have some form of accessible replay functionality.
(Also doesn't solve the real-time issue for broadcasting)