I had the same issue since getting my Late 2013 MacBook Pro. At first I wrote a script and a LaunchDaemon to monitor my WiFi connection and then toggle the Airport card if the connection were to not reconnect after waking from sleep. After months of looking at possible causes and solutions I came up with a simple terminal command to resolve the issue.
1st thing to try is the following terminal command and see if that resolves this for you.
sudo defaults delete /Library/Preferences/com.apple.Bluetooth LastA2DPDevice
If this doesnt resolve the issue you can use the script and LaunchDaemon to toggle the Airport card if you dont reconnect.
Here are the instructions for this.
1. In the terminal type the following 2 commands
mkdir /Users/Shared/Scripts
pico /Users/Shared/Scripts/airport_fix.sh
2. Copy and paste the following script (4 Lines) in the Terminal window
=====Script starts below this line=====
#!/bin/bash
/usr/sbin/networksetup -setnetworkserviceenabled Wi-Fi off
/usr/sbin/networksetup -setnetworkserviceenabled Wi-Fi on
sleep 10
=====Script ends above this line=====
3. Save the script by hitting Ctrl X and then type a "y", and then hit enter to save the script
4. Make the script Executible by typing the following in the Terminal
chmod +x /Users/Shared/Scripts/airport_fix.sh
5. In the Terminal type in the following
sudo pico /Library/LaunchDaemons/com.airport.fix.plist
6. Copy and paste the following script in the terminal window
=====Script starts below this line=====
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.airport.fix</string>
<key>ProgramArguments</key>
<array>
<string>/Users/Shared/Scripts/airport_fix.sh</string>
</array>
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<false />
</dict>
</dict>
</plist>
=====Script ends above this line=====
7. Activate the script by typing the following in the terminal
sudo launchctl load /Library/LaunchAgents/com.airport.fix.plist