You could also see the original math problem turning up 6.5 as a solution, not a problem.
If you think of it as not 1 stitch being increased among 6.5, but 2 stitches increased among 13, you could do this:
x x x x x x x x x x x x O x O x x x x x x x x x x x x O x O...
By grouping your increases (or decreases) into groups of two, you allow the math to come out and I think it would look pretty nice, too.
I think this idea can scale, but you will need to figure out a few things:
1) How big do I want to make my groups?
2) How many stitches will go between groups?
If you want to keep 1-stitch divisions between increases (or decreases), you need to take the number of increases (or decreases) in your group (let's call this g) and subtract one. You can see the reason for this by holding out one of your hands. If you have five fingers, you will have 4 spaces in-between your fingers.
Revisiting the questions:
Multiply your increase factor (your original # / the # you want to increase by) by whole, prime numbers until your result equals a whole number (which I will call n). A good list of primes is here. The number you have to multiply by is the number of increases or decreases in your group (g). N is the number of stitches you have, total, in a given set of stitches for your increases or decreases. In the first example, above, n = 13 and the prime needed is 2. That makes g = 2.
To find out what you really need to do to make it work, you have one more step. To find out how many stitches should go in-between your groups of increases or decreases, take n - (g - 1). In the first example, that would be 13 - (2 - 1) = 12.
This seems complex and wordy, although it's really not, so I might make a worksheet for it. What do you think?