systemd on debian tries to reuse far too many /etc/init.d scripts, whose quality and performance I find questionable.
Follow the guide on http://www.holgerschurig.de/linux/systemd.html to get a good experience. You can also use my scripts (cf http://libreboot.org/docs/future/#fastboot) to compile your systemd
For the specific zfs problem, I can't say for sure (I use xfs), but a simple script you wrote yourself is usually the best. I also had fstab related errors for swap (I use luks) until I disabled the automatic stuff and wrote a replacement script.
systemd is well done and such fixes don't take long, once you understand the logic of it. (usually a symlink to /dev/null to disable the script and a few lines of ascii text for the replacement)
My results: on a thinkpad x60 (2006 era laptop), after coreboot, I boot in about 3 seconds, cf http://www.coreboot.org/pipermail/coreboot/2014-July/078215.... (link to a youtube video of another person doing the same thing). Suspend works very well out of the box, and even better (ex: renewing dhcp leases) after adding a few scripts.
systemd makes many things possible and easy, but with debian at least, the out-of-the-box experience has to be improved. Nothing impossible if you have say a day to spare to learn how systemd works and write your fixes.