If a white circle lies on an edge (first or last row or column) then the segment passing through it is obvious.
If two white circles on an edge have a single circle between them, then their turns are obvious.
If there are two white circles, one directly to the right of the other, and one of them has a vertical segment passing through it, then the other circle must also have a vertical segment passing through it. Similarly, if there are two white circles, one directly below the other, and one of them has a horizontal segment passing through it, then the other circle must also have a a horizontal segment passing through it.
Whenever you see three or more white circles in a line, there cannot be a single line segment passing through all the circles. To see why, draw three white circles in a line. You'll notice that the middle circle can't be adjacent to at least one turn.
If a black circle is on the second row, then it can't extend up. Similar statements can be made for the second to last row, second column, and second to last column.
If a black circle can't extend to the right, then it must extend to the left. Similarly, if a black circle can't extend down, then it must extend up.
Look for pairs of path ends that can only be connected in one way.
If adding a segment would cause a path endpoint to butt against a wall, with no possible connections, then that segment must be invalid.
Let B denote black, W white, and E empty. If you see the pattern BEWW, then you know a segment cannot be draw through BEWW, because the white circle closest to the black circle wouldn't be adjacent to a turn.
Look for moves which would make it impossible for an endpoint to connect with any other endpoint. These moves must be invalid.
Look for moves which would force an endpoint to connect with another, such that multiple closed loops would be created. These moves must also be invalid.
Make a small assumption. See where it leads. If it forces you into a dead-end, then it must have been wrong. This is a great way to eliminate a possibility, so that some other possibility is forced.
Mark small Xs near endpoints, to signal directions in which paths can't be extended. It's possible a path can't be extended because it's connected to a white circle which must turn. It's also possible that extending a path in a particular direction has been tried, and found to lead to a dead-end. These small Xs should only be used as a memory device. If you can determine the direction in which a path must extend, there's no use in drawing small Xs everywhere the path can't go, simply extend the path.