How to properly remove packages

That is the proper way, there is no better way available.

Files created into your home dir, or other files created during normal package working, as i.e. log files, do not get removed, and there is no easy way to do so, if the preremove and postremove script do not do so themself. Obviously the problem is not in the removing, but in the individuation of such files.

The fact that the service you talk about keep on starting on boot is strange, it is perhaps present in another package? What dpkg -l | grep nginx returns?