Your options for limiting or preventing this are to:
are happy to charge you for a "private" registration. Instead of listing YOUR contact information in the WhoIS databases, a privacy service will list their own, and act as a filter between you and the public Internet. This does add one more layer of complexity to administering your own domain; and it becomes doubly important not to lose the account ID and password you'll set up for this service. (Without them, you could get locked out of your own domain account, which would be a fat pain in the tokus.) Be certain the privacy service you use is legitimate and easy to use, not just a cheap trick to effectively take ownership of your domain, thus preventing you from using different domain (or other) service providers in the future.
(3) Let a trusted third party manage the domain for you, having them provide THEIR contact information for the registration. Shielding your personal information from the public is just one feature of the Domain Administration Service that I provide to businesses and individuals.
If you prefer to do it all yourself, the domain registrar that I use and recommend is:
They generally offer more features and lower prices than their competitors.