Schaefer war Jurist, seit 1933 Mitglied der NSDAP und SA, trat 1936 zur SS über, in der er 1942 zum Obersturmbannführer befördert wurde. 1935 trat er in den Dienst des Geheimen Staatspolizeiamts, 1937 wurde er Gestapo-Chef in Wesermünde-Bremerhaven, 1940 in Reichenberg. Im Herbst 1941 war Schaefer etwa vier Monate Leiter des Einsatzkommandos 9, das in der besetzten Sowjetunion zahlreiche Massenmorde beging. Im Februar 1942 wurde er Chef der Münchner Gestapo, die er bis Kriegsende leitete. Er trug demnach die oberste Verantwortung für die hier von der Gestapo verübten Verbrechen.
Ab 1950 wurde Schaefer in mehreren Strafverfahren angeklagt, jedoch nur einmal, wegen Misshandlung von Zwangsarbeitern, zu zwei Jahren Haft verurteilt. Dafür stufte ihn die Münchner Spruchkammer als „Hauptschuldigen“ ein und entzog ihm einen großen Teil seines Vermögens. Nach Kriegsende arbeitete er u.a. für den Stinnes-Konzern. In einem späteren Verfahren wegen seiner Tätigkeit als Einsatzkommandoführer in der Sowjetunion wurde er 1968 mangels Beweisen freigesprochen.