This is good, but there are some errors in your calculations:

First of all, the chance of a random IV being perfect is 1/32; the range of 0-31 is inclusive, making for 32 possible values including 0.

Secondly, there are 25 natures, and therefore a 1/25 chance of getting the right nature without Synchronize, not 1/16.

Third, although I can't blame you for getting this wrong, as this is much more obscure, the way the game ensures perfect IVs is a bit complicated. Here's what the game does, if you're too lazy to read, I have the short version in the paragraph under it:

The game generates a regular IV spread at random, just like every other Pokémon, then checks if it has at least the required number of 31s. If it doesn't, it maxes out the highest imperfect stat(s) until it does. For example, say that the game needs to generate a Pokémon with at least 3 perfect IVs, and generates a spread of 26/5/28/17/31/19. The game will then change it to 31/5/31/17/31/19, maxing out the two highest imperfect stats to get three perfect IVs.

Because of this, the only way of getting a 6IV Pokémon is if the initial spread rolled is perfect, which is the same as it would be for any other wild Pokémon, a 1/1,073,741,824 chance (for IVs alone).