In case of plane crash when the reason is not certain, the black box is used to study the cause for the crash. But in the worst case, if the black box itself is damaged, there is no way to know the reason for crash itself.
My idea is to back up data from black box before it is damaged. This can be done through streaming and backing up the data in case of emergency/crash. A component can be designed such that it pushes all important data to central repository at regular intervals. Even in case of crash, most of the data will be in the database and can be used to study the cause.