You could try lowering the water level so the return agitates the surface more, breaks up the surface tension and they can longer occupy the surface and drown.
If your fish occasionally will eat them, perhaps stop feeding them for a few days so they will clean up the problem for you.
Ive also just read that a hairdryer on high heat blown daily over the surface will burn them and force them under the water to drown. Doing that over several days will kill them off. Maybe give that a try?
In general, these things appear because the conditions are right for them. Do regular water changes, keep your aquarium in good order, dont overfeed or leave food uneaten. They should disappear over time if the conditions arent suitable for them.