The stacked density profile of cosmic voids in the galaxy distribution provides an important tool for the use of voids for precision cosmology. We study the density profiles of voids identified using the ZOBOV watershed transform algorithm in realistic mock luminous red galaxy (LRG) catalogues from the Jubilee simulation, as well as in void catalogues constructed from the SDSS LRG and Main Galaxy samples. We compare different methods for reconstructing density profiles scaled by the void radius and show that the most commonly used method based on counts in shells and simple averaging is statistically flawed as it underestimates the density in void interiors. We provide two alternative methods that do not suffer from this effect; one based on Voronoi tessellations is also easily able to account from artefacts due to finite survey boundaries and so is more suitable when comparing simulation data to observation. Using this method we show that voids in simulation are exactly self-similar, meaning that their average rescaled profile does not depend on the void size. Within the range of our simulation we also find no redshift dependence of the profile. Comparison of the profiles obtained from simulated and real voids shows an excellent match. The profiles of real voids also show a universal behaviour over a wide range of galaxy luminosities, number densities and redshifts. This points to a fundamental property of the voids found by the watershed algorithm, which can be exploited in future studies of voids.