maybe mirrordir is something for you,
but I don't know where to get it as rpm or tar.gz, in Debian there's an package available...
Mirrordir can make exact copies of a directory tree, also deleting files from the copy if they are deleted from the source. and there is an option to exclude certain files, in your case you would use a pattern that matches ~/[^.]*
btw. you should use this filemask in your experiments:
~/.??* in order to get all files starting with a dot and being at least 3 characters long, because recursive copying of .. is not a good idea