How to wire GFCI outlet
The red lead is wired to hot on BOTH the load and lead terminals of the GFCI. Likewise, the white lead is wired to neutral of both the load and lead terminals. 


This sounds insanely wrong, and if it is in fact an Edison circuit -- two hots, shared neutral -- then a GFCI cannot possibly work right because the current on the neutral will not be the same as the current on the hot being measured by the GFCI. It will trip frequently. 

I don't like shared neutral circuits at the best of times because remember the current on the shared neutral can be as high as the sum of the currents on the hots. Just because the neutral has no voltage does not mean it has no current, but the overcurrent protection on the breakers is on the hots. You don't want to get into an overcurrent situation on the neutral because nothing stops those wires from overheating.


  Is this wired correctly, and if not, how do I rewire it so that it is?


There was a similar circuit in my house when I bought it and I ended up just pulling new correct wiring through the walls and doing the whole thing over. I concur that when you are rewiring an old house, everyone who lived there before you was dangerously ignorant; I've found terrifyingly bad wiring in GFCIs. 

So, solution one: rewire everything so that there is one circuit for the GFCI and everything downstream that you want protected by it, and another circuit for the non-protected stuff.

However, if you don't want to actually pull new wire through the walls and do it all again, the next best thing to do is solution two: get a two-pole GFCI breaker and replace the breaker in the panel. Now you can throw away the GFCI outlet and replace it with a regular outlet. The downside is (1) expensive, and (2) when it trips you have to go to the panel to reset it.


  I just replaced the outlet by splicing the outlet inline i.e. both the incoming and outgoing are connected to the hot lead terminal, same with neutral. 


That's solution three, and it will work, but whoever wired it up originally might have wanted things downstream of the GFCI to be protected by it. This solution breaks that property.