Raichu is right. Foresight doesn't make your next attack a guaranteed hit, it just removes any modifiers on the opponent's Evasion, and removes the Ghost-type's immunities to Normal and Fighting. Personally, I don't see the move as being all that useful. Resetting your opponent's evasion is fine, except for the little detail that Foresight itself can miss. Removing Ghost's immunities is tempting, but if your Pokémon needs Foresight to be able to hit a Ghost-type, its moveset probably needs to be changed to include a move that can hit Ghosts anyway.