How to hide or remove useless network names from the wifi menubar icon
Solution 1:
You could place something like this Applescript in you Applescript Menu and use it to list you preferred networks, choose on and connect to it.
set the getList to paragraphs of (do shell script "networksetup -listpreferredwirelessnetworks en0")
set title to item 1 of getList
set wifi_list to items 2 thru -1 of getList
set the chosen_newtwork to choose from list the wifi_list with prompt "Choose a " & title without multiple selections allowed
if the chosen_newtwork is false then return
do shell script "networksetup -setairportnetwork en0 " & (chosen_newtwork as string)
(I cannot say this is perfect as I have found it sometimes does not always want to connect but I am unsure if that is just my router/wifi)
Update.
Using the same idea above, you could also create a banned list of bad ssids.
And filter them.
The main command is using a airport framework command instead of the networksevice command so is a tad slower. But scans for available networks instead of just you preferred.
set bannedList to {"BTWifi-X"}
set wifi_list to {}
set the getList to paragraphs of (do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s |awk '{print $1}'")
set title to item 1 of getList
repeat with i from 2 to number of items in getList
set this_item to item i of getList
if this_item is not in bannedList then
if this_item is not in wifi_list then -- stops duplicates from original list
copy this_item to end of wifi_list
end if
end if
end repeat
set the chosen_newtwork to choose from list the wifi_list with prompt "Choose a " & title without multiple selections allowed
if the chosen_newtwork is false then return
do shell script "networksetup -setairportnetwork en0 " & (chosen_newtwork as string)