OP, your alternatives to DD are more complicated, not less complicated. I shouldn't need to pipeline two commands together just to cut off the first 100MB of a file.
* Using "cat source > target" instead of "cp source target"
* Using "cat source | pv > target" instead of "pv source > target"
* Using "head -c 100MB /dev/zero > target" instead of "truncate -s 100MB target"