sed -e 1,/^$/c\\ -e '' <infile >outfile ...would also work.
As opposed to 1,/^$/d the c\ <<!>newline<!>><EOF> command doesn't delete the address range, exactly, but rather changes the whole block to a single string. And so this will not remove the first blank line from output - because it changes the whole first occurring text block in input (as delimited by the first occurring blank line) to a single blank line.