Dann sollte man auch feststellen, dass 400er Fehler auch bei scheinbar gültigen URLs auftreten:
Scheinbar.
Was du da an den Logs gezeigt hast, sind zum Beispiel Anfragen OHNE die Angabe des Hosts im Header.
Das MUSS beim HTTP/1.1 vorhanden sein. Alle anderen Parameter wie User-Agent sind nicht notwendig. Kannst du gerne mit telnet oder openmSSL (via HTTPS) überprüfen.
Soll ich mal auf die betreffende RFC verlinken?