I've been frustrated with this problem and looking for a solution too. It seems to be predominantly a Win 8.1 problem, but I focused on hardware, and this solution WORKED for me.
My hardware:
Lenovo Yoga 2 13 Laptop
Windows 8.1
Intel Wireless-N 7260
Cisco Meraki Access Points
Go to the Intel Support site (if you're rocking an Intel Wireless) and look up the most recent driver for your 7260 (also if that's what you have). After driver version 17.0.2 (I am using 17.0.3.2 Driver Date: 4/23/2014) there is a configuration option
to disable u-APSD in the adapter settings. It's enabled by default. IT WORKS NOW! Reliable, moving access point to access point, and on other networks.

A little history of my issue: I purchased this laptop recently from Best Buy. The problem started immediately when moving from access point to access point. It would start off connected, but eventually, always go Limited. I uninstalled the device and old
drivers, and updated to the newest ones. I even rolled down to the oldest available driver from Microsoft, that didn't work consistently. Contacted Lenovo, and they were no real help, issuing me an RMA and saying they would swap out the WiFi card - at minimum,
a 7 business day turn around. Who reading this can do without their laptop for 2 days? Figuring it was no different than exchanging the entire laptop at Best Buy, that's what I did. With 100% new hardware... SAME PROBLEM!
Unacceptable, so I did more research and found this article in an Intel forum:
https://communities.intel.com/thread/51812
The very last suggestion by the Intel employee was the only thing that I tried from his list... and it worked!
I really hope this helps others. It was an annoying problem, big enough I was about to return the thing and get something different altogether.