1. I built the JFET preamp. It works, but cutoff too much low frequency. How can I fix it?
As shown it will not work reliably, because the gate of the second JFET does not have a DC bias path. Add a 1M resistor from the gate of the second JFET to ground (just as you have for the first JFET).
The output impedance of your preamp is pretty high; what load do you expect it to drive?
I'm not sure I understand the actual question correctly; do you say that the low-frequency corner is too low (which should not usually be much of a problem) or too high..?
2. This is the schematic of MXR headphone amp for guitar. I don't have 2n4401 and 2n4403, so I replace them with 2n3904 and 2n3906. The result is output is too low. 2n4401 and 2n4403 (collector current = 600mA), 2n3904 and 2n3906 (collector current = 200mA). If i replace the transistor with higher Ic will I have louder output?
No, 2N3904/2N3906 are a good replacement for this application. With just a 9 V battery, this headphone amp will not give very high output levels into high-impedance headphones. What headphones are you using?
In any case you should add small emitter resistors to Q1/Q2 to stabilise their bias point. 4r7-10r should be fine.