I ran into this same issue. I can't answer your question about the command line magic to tell CURL not to send the content-type on the initial request (I don't think there is any magic).
However, I can tell you that the root cause of the issue is that Node+Express(connect) is sending the initial digest request through the bodyParser and since the application/json headers are there it tries to parse the body (which is empty). Personally I don't think express should freak out if the body is empty, instead just return an empty JSON structure (my work around below).
There may be a better (official) workaround in the future as this particular issue is in discussion right now on github here (1 day old) https://github.com/senchalabs/connect/issues/415
My workaround (connect/lib/middleware/json.js:70)
if (0 == buf.length) {
// return next(400, 'invalid json, empty body');
req.body = {};
return next();
}