May sound strange but hear me out. Develop an eye for it. In other words, if you are working the shallows, and its relatively clear water, notice every detail when the fish spooks. For instance, a lot of times you'll see the fish spook but as it goes you notice the fishes color is a lighter green than anything else around it. Now as you scan ahead, look for that light green color, that something different, what ever it might be that gives you a longer range visual clue. Stop when you see something, drop your poles (whatever), before you get any closer. You've seen the fish before you've gotten close enough for them to see you. Works for smallies too when they're up swimming shallow. Guys that go fishing for Bonefish on shallow saltwater flats do the same thing. There's more to it like sun angle, is there a breeze, do you have some height on a casting deck, are you wearing softer, lighter, more natural colors on your clothing, etc.. Sometimes the tiniest details make a difference.