How to play Go Fish well once you know the rules: the decisions that matter, and the habits that win.
Every question at the table gives something away. A player asking for sevens holds at least one seven, and that stays true until they give it up or complete the set. Keep track of it, and when you get a seven yourself, you know exactly who to ask.
The same goes for what they did not get. If a player asked for queens and was told to go fish, the player they asked has no queens — unless they have drawn one since.
Asking for a rank you hold two or three of brings you closer to a set if it works, and completes it if they hand over the rest. Asking for a rank you hold only one of is a longer shot.
When your question is answered, you ask again. Use a run of success to go after the ranks most likely to be out there before others learn what you hold.
Ask the player you know has the rank — the one who asked for it recently, or who took it from someone else. When you know nothing, ask the player with the most cards, who simply has the best chance of holding it.
Avoid asking a player who was just asked for that rank and had none, unless they have drawn since. A question that sends you fishing ends your turn.
Every rank you ask for tells the whole table you hold it. If you ask for fives and draw from the deck, everyone now knows where to find fives.
When you have a choice, ask for ranks others already know you hold, or ranks you hold several of, so a failed question gives away less that others can use.
Running out of cards does not end your game while the deck has cards: you draw and continue. Sets are what score, not how fast you empty your hand.
Near the end, when the deck is gone, remaining ranks can only move between players. Count the sets on the table, and you will know which ranks are still in play and who is likely to hold them.