Insurance companies base their premiums upon the probability of them having to pay out money. (As you've found, there are 'non fault' circumstances where insurers still have to pay). It's got nothing to do with 'fairness'. It's solely to do with 'risk'.
'Non fault' accidents are taken into account because they can give an indication of the driver's habits, which affects the risks. e.g. Mr Smith and Mr Bloggs can live within the same postcode, be the same age, drive the same types of car etc. They both drive 10,000 miles per year. The only difference is that Mr Smith does most of his driving at quiet times at weekends (and, because it's solely leisure driving, doesn't go out in poor weather) whereas Mr Bloggs does most of his driving in the rush hour, on the M25, in all weathers.
The chances of Mr Bloggs getting shunted in the rear, or otherwise being 'pranged', possibly by drivers who don't stop, or who are uninsured or provide false details are far greater than those for Mr Smith. He might well get 'shunted' several times in a year. The insurance company needs to know about these 'non fault' accidents because they give a clue to his driving patterns and they need to adjust his premium accordingly.
Chris