Animations on mobile are not always useless. They act as a feedback mechanism on a medium like touch screen where there is none otherwise. They can also work to compensate for delays. The perception of delay can be reduced by showing an animation while doing another task in the background.
There are better feedback mechanisms. Like, flash the button if it's being touched. At no point should an animation make the task take longer than it would otherwise.
How about just not doing any of that and making the task itself go faster?
I have a problem with this "animations hiding delays" pattern, because it's straight-up dishonest and disrespectful. If the computer has to take time, let me know; if it doesn't, just give me the results immediately. Stop running what would be a piece of background feedback about the state of my machine through a low-pass filter!
Adding animations to software tends to make it slower (a good potential for a self-fulfilling prophecy here). Often enough, the animations are of fixed "developer's best estimate" length, and can take longer than the task itself, slowing the user down.
The whole idea behind "reducing perception of delay" seems to be borne out of paternalistic and exploitative thinking, "how to make the user feel better about our app, despite its shortcomings". Trying to make the user like you more than they should. Instead of that, why not focus on ensuring the user is maximally effective in getting maximum value out of the application - that they're not confused, and not waiting for the machine?