I've often thought that the best approach to handling this sort of thing, is to simply replicate what WordPress core does. If you set your plugins up to auto-update from YOUR site instead of WordPress.org, then you would have access to that data too. That would not require an opt-in, but would allow you to analyse data that you happened to access via the update API.

Of course, this then means you lose out on "downloads" on your plugin or theme page on WordPress.org.

FYI, I have not done this to any of my own plugins hosted at WordPress.org. It's just an idea I had a while back.