We are also having this issue. It seems to be rare and pretty random. We've double checked our "transaction_id" are unique and we still occasionally get the "Missing or incorrectly formatted device token payload" response.
We are sending the request using PHP curl, here is a sample. Works 99% of the time.
$data = array(
'device_token' = $device_token,
'transaction_id' = $uuid,
'timestamp' = round(microtime(true) * 1000)
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apple_url . '/v1/query_two_bits');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $jwt, 'Content-type: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$serverOutput = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);