diller,
First, there is a good reference for plotting with two Y axes on the Wolfram site. The function can be easily modified to do DateListPlots by changing "Plot" and removing the range list and adjusting a few parameters. Then your plot will not be an overlay and will be a bit more general. See How to | Generate Plots with Two Vertical Scales. This will not fix your second problem but it may be useful.
To fix the second problem, you need to specify the ImageSize for the plots (which will carryover to the overlay). If you do this I think you get what you want.
plot1 = DateListPlot[ts1, PlotStyle -> Red,
Frame -> {True, True, False, False}, ImagePadding -> 25,
FrameTicks -> {None, All, None, None},
FrameStyle -> {{Directive[Red], None}, {None}}, ImageSize -> Large];
plot2 = DateListPlot[ts2, PlotStyle -> Blue,
Frame -> {False, False, False, True}, ImagePadding -> 25,
FrameTicks -> {{None, All}, {None, None}},
FrameStyle -> {{None, Directive[Blue]}, {None}},
ImageSize -> Large];
overPlot = Overlay[{plot1, plot2}]
Now you can use Row or Grid:
Row[{labeledTable, overPlot}]
To get:

Of course the Plot is a bit too big so you can adjust the sizes accordingly. ImageSize can also take numerical sizes. You can also specify the size of your grid. I hope this helps.
Regards,
Neil