if the roof starts to spread that the rafter will pivot at its top edge which will then try to drop
I'm not following that. Firstly there is no pivot. There can't be with any type of rafter movement unless the bottom end moves upwards.
Secondly, the roof can't start to spread and cause the top edge to drop. It is the ridge beam that must fail before any spread can even occur.
Fixing is simple. A seated rafter, a gusset, or just spikes. The load is only vertical and perpendicular to the rafter, and the rafter is not trying to move outwards.