I guess the most Buddhist answer is going to be, to the extent you are blinded by "kleshas" (mental/emotional hangups) you can't clearly see what is good for others -- nor even what is good for yourself. The fewer hangups you have, the better you can estimate the outcomes - all the way until Buddha's omniscience, which involves 0% obscurations and therefore 100% clarity. So working on your own mental and emotional hangups is the best way to ensure your actions will do more help than harm.
As was said in Sedaka Sutta:
And how does one help others by helping oneself?
-- By practicing Dharma, by developing it, by pursuing it.
Meanwhile, is there a rule of thumb we can apply to decide when to help and when not to help? Here is what I follow:
the kind of help that inspires other person to let go of obsessions, negativity, confusion, attachments, fixed ideas, overgeneralizations, preconceptions, one-sided views etc. - is useful even if it involves lots of effort and pain on my side;
but the kind of help that supports person's samsaric lifestyle - and helps them run on like a squirrel in the wheel - this kind of help has very little long-term effect IMHO, outside of reducing their immediate suffering. I still do it sometimes, out of compassion -- and in the hope that perhaps it will inspire recipient's faith in basic goodness -- but I don't allow it to use all of my energy / tip me out of balance - otherwise that would be what Chogyam Trungpa called "idiot compassion".