O padrão do Java segue o padrão do C antigo (Kernighan & Ritchie), onde as chaves eram postas dessa maneira para economizar papel na hora de imprimir os livros. Depois, no C e no C++ as pessoas acabaram se acostumando a alinhar as chaves, como você sugeriu. Mas é realmente mais um costume que outra coisa; mas “em Roma aja como os romanos”.
Portanto o padrão do Java é mais ecológico - evita que você corte mais árvores na hora de imprimir suas listagens
Eu particularmente prefiro o padrão Java. Tanto pela economia de espaço (não só de impressão mas também de visualização na tela) quanto pelo fato de que os editores atuais facilitam bastante a identificação do início e do fim de um bloco.
Mas conheço várias pessoas que preferem o padrão C# e inclusive configuram seus editores para este padrão. Se você realmente se sentir desconfortável com o padrão Java, faça o mesmo e vá migrando aos poucos.
Aqui usamos o padrão do java para tudo, exceto as chaves.
Isso porque parte da equipe programa em C++, parte em Java e parte nos dois, então preferimos evitar a existência dos dois padrões. Eu, particularmente, prefiro as chaves na linha de baixo, como você, só pelo falo de ser mais fácil olhar chave-com-chave.
Mas nada contra o padrão do Java também. Ele é ótimo quando se está postando código em fóruns ou blogs, pois usa forma mais compacta reduz o uso de scroll bars.
Agora, uma coisa que é sempre bom fazer é pôr chaves nos comandos do “if”, “else”, “for” e “while”, mesmo que sejam apenas de uma linha, para evitar problemas.
// Válido mas pode dar problemas
if (teste)
comando1;
else
comando2;
// Recomendado
if (teste) {
comando1;
} else {
comando2;
}