Use a subshell to start the processes and divert the output of the subshell:
pid=$(sleep 10 >/dev/null 2>&1 & echo $!)
kill $pid
The problem is that the starting shell will monitor and notice the termination of its child and report on it.
You also can be more drastic and switch off job control (which in a script might be just what you want):
set +m
sleep 3 & pid=$!
kill $pid