I think my point is pretty clear without me coming up with a precise formula: instead of predicting rates, just adjust them based on history instead. After all, someone likely to cause repeated damage in the future is also likely to have caused it in the past.
The only major difference between the two approaches is that mine doesn't require someone to make predictions - which might be biased - in exchange for mine maybe under-charging someone with no negative history who is about to cause a huge amount of damage and then stop paying into the system (death, etc). But in those (rare?) cases, the fact that everyone is part of the system means that the single rare loss is amortized nicely and without bias.
But by how much? If it's enough to fully offset the cost of the damage, that's not insurance, but a payment plan. If it's less than the cost of the damage, then you have to decide what it's going to be.
You can calculate using any history you like. Weigh past damages based on time between, or time in the past. Be creative.
(If you had them directly pay for the damage they caused, that wouldn't be insurance, that would be a middle man for restitution.)