When a student pushes against a slightly long serve ("half long") or push, I almost always remind them that they should usually loop such balls. Inevitably, the player will respond, "The ball was too short, I couldn't loop it!" But the ball was long, they just didn't read the depth quite right.
How do you learn to read and loop slightly long balls? Here are three tips.
First, practice. Get a coach or practice partner and have them serve to you where they try to make the second bounce right about the end of your table. Your job is to either loop it or let it go. If you think it's too short to loop, by letting it go you get feedback on whether it really was too short to loop. You'll be amazed at how often it really was long enough to loop.
Second, a serve doesn't have to be truly long for you to loop it. A loop is a forward stroke (as well as up), even against backspin, and so you can go over the table some. If the second bounce is at about the table's edge, you can loop it.
Third, jam the table a bit. You can read and loop these serves better if you are looking more down on them than if you are hanging back and seeing it at an angle. As soon as you see the ball coming somewhat short, move in - which means stepping in with your left leg (for righties). This also puts you in a better position to loop with power to all parts of the table - if you are farther from the table, you'll likely only be able to loop with power to the left (for a righty). So loop away!