Texturing an object with array and curve modifiers
One of the most common problems with tileable textures is that it's not only the color variations but also the patterns that create the repetitive look. 

While your idea to change the hue and saturation values might work on a model that uses real bricks instead of textures, it would probably disturb the seamless look of your model. You would change the values for the whole segment which (depending on your model's mesh) would most likely produce vertical lines between them. 

Depending on how much effort you like to invest in that particular task there are two approaches. 

The first one is obviously to choose a different texture that is still tileable but hasn't the distinct features that make the repetition so obvious.

The second one needs a significant amount of work but then you might re-use the resulting textures for a different project. You would have to create three or four tileable textures yourself and they should be each tileable to all the others. 

There are some tutorials about creating tileable textures in Blender, some really good ones can be found on stym's youtube channel. 

The trick would then involve changing only the inner area of the texture while the outer area stays the same. You should also avoid putting too prominent features over the edges, since they would ruin the randomness again. 

The next step would be creating several materials for your model, then  apply the modifiers, then select random segments and change the material to a different one.