My backup strategy is to keep the old drives from my previous array and put them into a second server, then back up to it weekly. I use a linux software raid 5 setup for backup, with the drives powered off unless the backup is running. I have a script that spins them up, starts up the raid, mounts the filesystem, performs the backup using rsync, then unmounts and powers down the drives. I only can back up about 1/3rd of my main array, so I have to be choosy, but a large amount of what I have stored is replaceable non-original content that I'm content to simply have one raided copy of, so I just exclude the right folders and I'm good.
The servers are currently in the same room, which makes me uncomfortable, so I've long considered creating a mini-server for a relative and setting it up in their home as an offline backup. Using a commercial service would probably make more sense, but I'm not sure I'm comfortable with that yet.
Another thing I'm considering for my next setup is using ZFS for the backup filesystem and keeping snapshots as long as I can for a combination backup/version control. I'm interested in how efficient that would be with vm disk images where the file changes every time, but only small parts of it. Would it detect the unchanging portions, even if rsync re-writes parts that didn't change, or would that cause duplicated space usage? Does anyone have experience with this?