What you are looking at is called and un-dithering. Theoretically, the problems is ill-posed if you want to reconstruct exact images prior to dithering and printing. However, some linear filtering over a broader window (depending on the amount of quantization of dithering) can be applied. For example, in your case, you can take a collection of total score of 8x8 window and apply the sum that would give you the intensity in terms of 0-256.
The paper listed here is the solution to your exact problem.
EDIT:
Ok, if i have understood, since you are scanning the image rather than taking a digitally dithered image, your problem is not much of un-dithering. I answered the first part before your update.
Ok, on this case, i would suggest that you can have two step process.
find an optimal threshold to convert the image into a bi level image. This is best done using trying the find the "valley between the white and black intensities within the histogram. See here for basics on thresholding. But may be you have tried this as well.
Now, you might see that some of the edges might be too thin or too thick depending on the type of noise. So in order to reconstruct more optimal image you can apply morphology with operations like Dilation and Erosion.
See this presentation for reference. This will give you a direction of what i was saying. Here is a reference on how to apply various morphology filters