In my testing, I have found that if the user deletes the app, then installs it again, a new installation is created. That is expected.
However, the old Installation is never deleted from the Parse console. Furthermore, the old device token is still valid, because I end up getting duplicate push notifications.
When I manually delete the old Installation form the Parse console, I don't get duplicate push notifications.
According to Hector from Parse, this shouldn't be: When an app is deleted, any push device tokens that belong to it are invalidated, and the Installation object is removed.
What's going on here? Is this working for other people?