O comentário de Kenton abaixo é um bom conselho:
... nós, como desenvolvedores, somos realmente ruins em adivinhar o que podemos desejar no futuro. Então, eu recomendo estar seguro sempre definindo parâmetros personalizados e tipos de resultados para cada método, mesmo se eles estiverem vazios.
Respondendo minha própria pergunta:
Olhando através dos arquivos proto padrão, encontrei Vazio que é exatamente como o tipo Nulo que sugeri acima :)
trecho desse arquivo:
// A generic empty message that you can re-use to avoid defining duplicated
// empty messages in your APIs. A typical example is to use it as the request
// or the response type of an API method. For instance:
//
// service Foo {
// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
// }
//
message Empty {
}