In the instant before you are actually able to react to their DI, use that time to position yourself so that you can cover their options immediately available to them. React instead of predict whenever possible. If you dair someone standing by the ledge as Falco, you don't just guess if they DIed away or DIed in. You simply begin running towards them and time your jump differently based on how they DIed. Another example can be seen from top Falcon players. As they tech chase, they are constantly making adjustments during dthrow tech chases. They may WD forwards or backwards to force the teching player to land in areas that are easy to hit hard. If they tech in place and you are too close to dash into a SHFFL and too far to simply SHFFL in place, then they're probably going to escape or at least force you to use a less than optimal punish.
A lot of stuff with DI you will simply learn in time. You will get a feel for when the opponent is going to DI away because you'll notice when DIing in gives you a free hit to continue the combo. You'll also get a feel for how when a player's % is higher and higher, they are more and more likely to survival DI (DIing towards the stage) as opposed to combo DIing (DIing away from the stage and the opponent). If you go to the Falcon forums and find the thread with a bunch of good posts, you can search for a post G-reg made about DI, player habits, etc. He basically talks about how he makes DI work for him instead of letting it mess up his combos.