TL;DR: there is no realistic limit on size.
A ship stays afloat because while it is really heavy, its total weight is less than the weight of the water its hull displaces, so you could easily build a huge flat steel ship with a thin hull that is not very high and it would happily float. However, if the water were anything except for flat calm, then the movement of the water risks ripping it in half.
Or you could build it out of polystyrene, as that's lighter than the water itself. Again it would break easily though.
Let's look at the Yamato, according to Google: 263metres long and weighed 65,030 Tons… pretty big, and pretty heavy.
How about the TI Class Super Tanker
380metres long and a fully loaded weight of 501,437 tons… Now that's heavy!!! But it still floats quite happily, in fact it's more stable when it's full than if it were empty
The important factor is strength of materials and ship design. A multi-hulled ship has a stronger hull than a single thick hull (Within reason!!!) for the same amount of steel used. And then you wouldn't need to carry huge amounts of material that can slosh around compared to a super tanker carrying oil… probably a few nuclear reactors to power the props would do quite nicely.
A when you think about it, the wider the ship, the more room you have for additional props! so more speed... but then again an even bigger disaster if one or more of the reactors melt down.
The problems with big ships are what you have already mentioned, easy to hit, easy to find, and very costly to build and maintain. And no real need for them… But apart from that, nothing is stopping us.
It's also interesting to know that the real limit in modern terms is actually if it will fit in through the Panama Canal.
It's a bit of a tight fit!