I like to play two-suit overcalls against game-forcing auctions, with the suit bid being the lower of the two touching suits. So against opps' 1S – 2NT, 3C would C+D, 3D is D+H, and 3H would be H+C. Double can be a one-suiter. Unfortunately this takes away the lead-direction aspect, so another approach is to play this method only when vulnerable. (Note the memory strain, though.)
Another possibility is to do it inverted psycho suction style, so each suit bid shows either the suit bid and the next suit up, or the suit below it. You can then apply double to it, too, as a fake heart (or spade, if opps' suit is hearts) bid, so:
- X — M+C, or D (but you could also psych this with clubs only, without damage because you can't get to 3C anyway)
- 3C — C+D, or M
- 3D — D+M, or C
Of course, when playing inverted psycho suction of any sort, advancer needs to take false preference if he's unsure what opener has, but in this case it's not as necessary because opps aren't floating an undoubled three level overcall in their game-forcing major fit auction.
I'd play it that using the one-suiter method suggests a lead, while with a pure preemptive onesuiter it is best to bid to the four level immediately. Or you could reverse those.