Leon
If you plan to use globs and (by design) multiple files the only way I see to properly do this is to use tar or something similar. Granted the current keep_ssh_host_keys snippet is far better than I'd ever imagined when originally submitting it but replacing it with a generic one is a noteworthy goal.
I personally have no real need for it. If there is something important and of some size on the system, I would just make a backup. If generic one is ever made I don't see it replacing original, but rather having them both available. The current one assigns all variables at the very beginning, which (in my opinion) makes it very easy to modify for different use.
We are diverting from the question that Alex brought up though, of course. I think using -a is better then -p after all due to file contest.