Hi,
Normally, even if you delete users and don't delete addresses, the issue should not happen. That's because there is an auto increment value on the user id and thus it should only go up for new customers. So for example, if you have 2000 users and never deleted one, the next ID attributed to a new user should be 2002. If you delete the user with the id 1000 but not its addresses, then you have ghost addresses linked to a user entry with the id 1000 which doesn't exist anymore. But future users would still have their IDs above 2001 so new users should never ever see these ghost addresses.
Also, what you should do is delete from the hikashop_address table all the entries linked to an entry in hikashop_user which doesn't exist.
You can do that with such MySQL query in your PHPMyAdmin:
DELETE FROM #__hikashop_address as A
WHERE A.address_user_id NOT IN (SELECT U.user_id FROM #__hikashop_user AS U);
where #__ is to be replaced by your table prefix.
That way, you'll be sure the next new users won't get existing ghost addresses attached to them.