Workaround Found:
On my systems (Macbook Air Mid 2013, Macbook Pro Late 2013) experienced the same issue.
Lots of good posts and analysis out there including (https://discussions.apple.com/thread/5185698?answerId=22560444022#22560444022)
You can work around the problem by opening a terminal window and running:
ping -i .2 10.0.1.1 >/dev/null
(where 10.0.1.1 is the IP address of your wireless router.)
This sends packets every .2 seconds keeping the WIFI chip from going into power saving mode.
Sample Timings:
localhost:~ chris$ ping -c 10 10.0.1.1
PING 10.0.1.1 (10.0.1.1): 56 data bytes
64 bytes from 10.0.1.1: icmp_seq=0 ttl=255 time=1.098 ms
64 bytes from 10.0.1.1: icmp_seq=1 ttl=255 time=20.232 ms
64 bytes from 10.0.1.1: icmp_seq=2 ttl=255 time=241.749 ms
64 bytes from 10.0.1.1: icmp_seq=3 ttl=255 time=162.914 ms
64 bytes from 10.0.1.1: icmp_seq=4 ttl=255 time=83.387 ms
64 bytes from 10.0.1.1: icmp_seq=5 ttl=255 time=3.735 ms
64 bytes from 10.0.1.1: icmp_seq=6 ttl=255 time=231.503 ms
64 bytes from 10.0.1.1: icmp_seq=7 ttl=255 time=152.180 ms
64 bytes from 10.0.1.1: icmp_seq=8 ttl=255 time=72.649 ms
64 bytes from 10.0.1.1: icmp_seq=9 ttl=255 time=301.283 ms
--- 10.0.1.1 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.098/127.073/301.283/101.827 ms
When I open a second terminal tab and run
ping -i .2 10.0.1.1 >/dev/null
localhost:~ chris$ ping -c 10 10.0.1.1
PING 10.0.1.1 (10.0.1.1): 56 data bytes
64 bytes from 10.0.1.1: icmp_seq=0 ttl=255 time=1.060 ms
64 bytes from 10.0.1.1: icmp_seq=1 ttl=255 time=1.192 ms
64 bytes from 10.0.1.1: icmp_seq=2 ttl=255 time=1.098 ms
64 bytes from 10.0.1.1: icmp_seq=3 ttl=255 time=1.777 ms
64 bytes from 10.0.1.1: icmp_seq=4 ttl=255 time=1.258 ms
64 bytes from 10.0.1.1: icmp_seq=5 ttl=255 time=1.618 ms
64 bytes from 10.0.1.1: icmp_seq=6 ttl=255 time=1.543 ms
64 bytes from 10.0.1.1: icmp_seq=7 ttl=255 time=1.822 ms
64 bytes from 10.0.1.1: icmp_seq=8 ttl=255 time=1.330 ms
64 bytes from 10.0.1.1: icmp_seq=9 ttl=255 time=1.308 ms
--- 10.0.1.1 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.060/1.401/1.822/0.259 ms