Ханс Шафнер получил юридическое образование в Университете Берна. С 1934 года работал в Высшем апелляционном суде в Берне, затем в Торгово-промышленной ассоциации Берна. С 1938 по 1941 год занимал должность в Федеральном ведомстве по вопросам промышленности, торговли и труда. В 1941-1946 годах был одним из руководителей военной экономики. С 1946 года работал в отделе торговли Федерального департамента экономики, а в 1954 году возглавил отдел. Он сыграл значительную роль в создании Европейской ассоциации свободной торговли (ЕАСТ) в 1958 году, в которую вошли семь стран не вступившие в Европейское экономическое сообщество. В июне 1961 года Шафнер избран в Федеральный совет (правительство) Швейцарии, где руководил экономическим департаментом.
После своей отставки в 1969 году, по состоянию здоровья, Ханс Шафнер занимал руководящие посты в нескольких компаниях («Sandoz AG», «Alusuisse», «Textilmaschinenfabrik Rieter AG» и «Kabelwerke Cossonay»). Он также входил в группу экспертов ОЭСР.