The opposing Pokemon holding a Ring Target is the only way. Scrappy only works for Normal and Fighting types hitting Ghost types, not vice versa. Soak is not a Ghost type move.
If non-Ghost status moves are acceptable, then yes, things like Soak would work.
Hope I helped!
Also note that only having Ghost moves is not a good idea. Get some variety.
It’s entirely possible if you only use status moves. Status moves affect the opponent regardless of their type. The easiest moves to KO with are Curse (used by a Ghost-type) and Destiny Bond. Confuse Ray can technically KO via self-damage from confusion, but it would take way too long to KO with confusion damage alone. I’d still suggest using Confuse Ray, along with Spite, to make things easier. (Nightmare, Grudge, and Trick-or-Treat are useless in this strategy.)