ndiswrapper doesn't work reliably with Fedora due to the relatively small 4K default kernel stack size. Windows drivers use a much larger stack and eventually they will exhaust the limits of the default hard coded Linux stack value and cause your system to hang or network connectivity to be flaky.
To be safe, download kernels from Luxuriant, rebuild the kernel using a larger stack, or use Ubuntu, which I think uses the larger stack size by default.
The problem with custom kernels is that yum / apt updates can overwrite your settings and invalidate your efforts. In such a case try disabling kernel updates.
ndiswrapper installation from the tar files is relatively easy to do. I think it also has to be recompiled each time you install an updated kernel too.
Have you tried fw-cutter? It has worked for me in the past with Fedora and was more reliable than ndiswrapper. You are right though, Linux and wireless isn't as easy to do as it should be. I have given up on some of my systems and just plug them into a wireless router or wireless game adapter.