There seems to be a workaround. It's actually mentioned in the forum you linked.
By making the keychain item available to other apps you can ensure it won't be deleted when your app is deleted.
To do that, you can add the item to kSecAttrAccessGroupToken
access group on iOS 10. See https://gist.github.com/Raztor0/34ad0e23a410c33526c9fa1b6e8d281c
If you set the access group to this well-known group, your keychain item will be readable by all installed apps:
Every application has access to this access group so it is not needed to explicitly list it in keychain-access-groups entitlement, but application must explicitly state this access group in keychain queries in order to be able to access items from external tokens.
That makes the item unsuitable for any sensitive or secret data (e.g. passwords, user names etc). For a unique identification of devices this shouldn't matter.
identifierForVendor
works the same as a shared keychain. It also changes when app (all apps from the same vendor) is uninstalled. Start identifying users instead of devices. Make them log in using facebook for example. – Slyviasm