In this situation I've tended to take the approach of: both :)
Definitely register for and process the webhook, as that's the fastest/best way to be notified. I don't believe the shop owner can actually delete or modify a webhook that you've added programmatically over the api, at least I've never noticed this happening.
To account fore the rare case where the webhook is somehow not received/processed/whatever, I tend to have a regularly scheduled task (once a day if it's not too time critical) to operate on all installed shops and just verify that things are correct.