The real issue isn't the tables... it is the images inside the tables... and there is no real good solution I can think of since you don't know how many columns they might add.
I think to handle the tables you just add to your css:
table {
max-width: 100%;
}
But then you are going to have to add a media query and break point to really change the table at some size. Something like:
@media only screen and (max-width: 960px) {
table td {
display: block;
text-align: center;
}
table td img{
max-width: 100% !important;
height: auto !important;
}
}
Those two combined should do the trick pretty well.