Get a better access point. You're taking huge bandwidth penalties because the link from the source machine to the access point is sharing bandwidth with the link from the destination machine to the access point. Better access points can handle multiple simultaneous streams. This not only immediately doubles the available bandwidth but it also reduces the number of changes in a stream's transmit direction.
Right now, to send a packet results in roughly the following:
The source machine obtains access to the channel, sends a preamble, and then sends the data to the access point.
The AP sends a preamble and then sends the data to its destination.
The destination obtains access to the channel, sends a preamble, and then sends the acknowledgement to the access point.
The AP sends a preamble and then sends the acknowledgement to the source machine.
All four of these operations are competing for the same bandwidth. Tweaks like disabling 802.11b support can help a bit.
If your 130Mbps link is degrading to 65Mbps or so due to link distance or your channel is shared with anything else (other Wifi systems, Bluetooth), your speed numbers are, unfortunately, about right for a bottom-of-the-line 802.11n access point with no compatibility options disabled.
While product recommendations are off-topic here, you can get WRT610Ns and E3000s refurbished for $60 or less. I've used dozens of them in both home and commercial deployments, all refurbished, and they've all worked like champs. This will give you 5GHz support too, which is generally wide open and performs better (though at shorter distances), assuming any of your endpoints support it. (I prefer the E3000 because it only exists in one hardware version, so I know exactly what I'm going to get.)