The Windforce cards are pretty long (I have a few cases that have difficulty accommodating the extra 1.5 inches or so), and I recommended the MSI card to a friend a week or two ago, and it is running great for him. Either card is fine, IMO.
I agree with this sentiment. I think they're all fine. The larger consideration should be things like size (for future case considerations or resale value). While I understand not everyone is limited to exactly one pcb model like myself (evga was the only thing that would fit in my current case) and the Windforce is nice and all (quiet and they usually have thorough core + ram binning), it's also needlessly gigantic for what it is, while msi cards are generally one of the smallest (but also well-performing hsfs for their size).
For reference, evga's cards have been shat upon for this generation because of this (power phases), that (backplate snafu), and the other thing (noise at full fan load). Mine is bios modded to 1.237v and 1517/7600 constant clock (which it really doesn't even need that high a voltage for that clock, and I haven't thoroughly tested the ram max...just playing around for max temps/noise level). It uses around 210w and with the fan set never going above 40% (audible) it won't reach 90c even after long-term stress testing...obviously at stock voltage, clocks, or power limit normal people will ever see it is much lower. The point being, all cards are all essentially the same in end performance, and won't be tangibly limited by anything aib-related (and shouldn't make much noise if you set a reasonable fan curve) other than luck of the draw. In any kind of normal situation (including overclocking) the 970 just doesn't allow (or require) the power draw needed for high-end components or cooling.
The windforce is probably nicer, but I'd buy the MSI for practicality...just my .02.