For print any hard mechanical part, we should forget both PLA and ABS, and go straight for the ASA-X (also known as ApolloX):
http://www.formfutura.com/175mm-apollox-white.html
It is a warp-free version of ASA (ASA is a plastic like ABS, but chemical, weather and UV resistant, and is more ductile than ABS), thus make it a drop-in replacement of ABS, and ideal for projects such as OpenRC and OpenRailway, where the object will be exposed to UV light and rain.
Moreover, the ApolloX has much much less smell than ABS and ASA, thus make it more suitable to be printed at home. However, you will need to use a BuildTak surface with a heated bed that can reach 100C to reliably get the object adhered onto the bed. Also, a brim (with no gap from the object) should be used instead of a raft, as the airgap between the raft and the object will cause shrinkage at the bottom of the print.