Philippine troops killed three suspected Abu Sayyaf militants and suffered five fatalities during a firefight on a remote southern island, the military said on Saturday.