So then really the "optimizations" for AVX2 falls on those that are making the compiler and not those that are actually writing the programs. This would certainly simplify things and I would think(maybe hope) speed up the adoption of new ISA's.
That was the point of creating programming languages in the first place.
The idea was that it would be easier for programmers to construct code in a generalized language, say Fortran or C+, and then a compiler would exist (made by people who were paid to deal with the nuances of assembly code and performance optimizations for specific microarchitectures and ISAs) that would compile the code in a black-box manner into the requisite assembly code for the targeted machine types (386, 486, etc).
But, as is true with all things, depending on the qualities of the programmer and the necessity of performance from the finalized product there is always opportunity for the programmer to upstate the compiler and create an optimized code/compiler pairing that delivers unparalleled performance.
The compilers are themselves after created by humans and will only be as capable in generating optimized code as the compiler was optimized to do.
Think of it like a compression algorithm. Why didn't we have MPEG4 compression algo's in the 1980's? Because the humans in the 1980's who made a living making those algorithms were at best capable of creating compression techniques the likes of JPEG. MPEG2 and more advanced algo's simply weren't conceivable at that time.
Compilers are like that too, their utility is limited by the genius of their makers. So compilers are always improving, as are the people who make them, but in the meantime that means they can also be upstaged or improved upon (have their nuances taken into account and optimized) by truly talented programmers as well.
So those guys aren't going to want black-box compiling, nor would the compiler teams want to limit those programmers to mere black-box capabilities. So in reality programmers are made aware of the ISA and its nuances.