This cat has bugs? Really? Challenge:

Read input (within visible ASCII range) and output with a few modifications:  


In each set of 10 characters of the input randomly (50/50):


replace one character* (with a random** one within visible ASCII range) (ex. lumberjack becomes lumbeZjack)
or remove one character (ex. lumberjack becomes lmberjack)



* If the set is of less than 10 characters, you don't have to modify it, but you can.
** The character can be the same as the one input, as long as it's still random.

Example:

Input: Go home cat! You're drunk!
Output: Go hom cat! YouLre drunk!
(just a example, since output could be random, don't use as a test case)

Rules:


code-golf, least characters wins!
Pyth, 27 25 bytes
VczTpXNOT?&lt;JOr\ \ÞKC127JK

Test suite available here.
Thanks to Maltysen for shaving off 2 bytes.
Explanation
VczTpXNOT?&lt;JOr\ \ÞKC127JK    z autoinitalizes to input, T autoinitializes to 10 
 czT                         chop input into strings of length 10, returned as list of strings
V                            for each string N in this list:
            Or\ \Þ            randomly pick a char between ' ' (32) and 'Þ' (222)
           J                  and assign it to variable J
                  KC127       assign the DEL char to variable K
         ?&lt;J      K           if J &lt; K:
     XNOT              J       replace a random character in N with J
         ?&lt;J      K           else:
     XNOT               K      replace a random character in N with K
    p                         print this string with no trailing newline

As is often the case, I feel that this is a bit of a naive method and may be improved upon. Usually I find something obvious while typing up the explanation but nothing jumped out at me this time.