Olha pelo seu relato parece que você deu azar de encontrar as pessoas erradas.
Sinceramente eu como desenvolvedor só aprendi a ter esse tipo de conversa com os clientes depois que de fato comecei a fazer isso e fui aprendendo com o tempo.
No inicio eu fazia um pouco do que você disse de sair metralhando ideias no cliente, talvez para demonstrar que de fato sabia de algo. Conforme fui fazendo isso com mais frequência aprendi que o caminho é o contrário, basicamente escutar o cliente, fazer as perguntas certas e em um momento posterior apresentar uma ideia concreta e bem desenhada rendeu mais resultados.
Acredito que para a grande maioria dos desenvolvedores o foco maior acaba sendo na parte técnica e nesses momentos um pouco de preparo talvez ajudasse. Ou também pode ser apenas falta total de compromisso/vontade.
Talvez o que te ajude a achar a pessoa certa seja alguma indicação, em alguma comunidade de desenvolvedores, uma empresa júnior de TI ou quem sabe até contratar algo como uma consultoria de TI.
Acho que no fim a dificuldade que você teve é a mesma que temos para encontrar bons prestadores de serviços, como mecânicos, pedreiros, dentistas etc.