O benefício do ArrayList é justamente essa flexibilidade(aumentar e diminuir automaticamente).
Se você não deseja que os índices alterem, ou seja, que o ArrayList aumente e diminua automaticamente, você pode trocar a sua implementação usando um simples Array.
Não há como… usando a ArrayList da API, pois esse é o comportamento padrão da API:
Há como(dentre outras formas)… através da criação da sua própria implementação de ArrayList e alterar o comportamento do método para o que você deseja.
Exemplo:
public class MeuArrayList<E> extends ArrayList<E> {
@Override
public E remove(int index) {
return super.set(index, null);
}
}