"...my low poly topology is atrocious. I've tried redoing it a few times, but I always end up with a similar result." hmm...well to start with there's a whole heap of redundant vertices or edges that are not contributing too the overall object's silhouette/shape. EDIT: So firstly I'd advise desolving those continuous…
You better model that thing using nurbs, eg lofting curves. Then Convert nurb to polygon after doing so put it in place, delete some faces combine the mesh, add some loops to make nice poly flow, merge vertices and there you've it. Another method would be Extruding then merging some vertices, then beveling sharp edges.