Personally, I think boats are far too slow, fragile, and small.
First of all, the boats are way too slow. I understand that as a oarless and motorless transit vessel, it makes sense that it should travel so slowly. I admit that compared to swimming, it is slightly faster, but not fast enough. If you're going to make it so slow, at least include a motor option like the minecarts have.
Second, the boat is too fragile. If a current pushes the boat into any other block, it will be destroyed. Actually, almost any contact with anything will cause the boat to explode. Example: I was in my boat, going towards an island when a drowning sheep runs into the side of my boat and causes it to break. Furthermore, it's even more annoying that when they break they turn into wood and sticks (since when were boats made of sticks?), preventing us from crafting it back into another boat should the first one break. My proposition is to get rid of the idea of boats breaking from an impact altogether. Mine-carts don't get dented when they hit a block or fall off a 500 foot cliff.
Lastly, I would like to address the size issue. Though the small size of the boat is uniformly proportional to that of a mine-cart, I think this leaves much to be desired. I think we should be able to make them bigger. Into galleons, schooners, or battleships. At first, my idea was to have a regular boat and build upon it, leaving it to be the bottom of the ship. This had two problems: the entire ship could be sank by destroying a single piece of the ship and how would you steer it if it were at the bottom since you wouldn't be able to see your surroundings? Then I thought of the idea of using your workbench to craft 9 boats together to form a raft or something (maybe call it something else cause it wouldn't make sense for someone to turn 9 boats into one raft). The raft would be around 5x5 or so. and can be built upon. This presented yet another problem: That there would be no way to right-click and sit in it to steer. SO. I would like your input on this.
The permanent seat block on the raft would be OK, but when I brought up that issue, I was thinking more about if we were able to build upon the raft. but if we did that, then it'd block our vision, preventing us from being able to steer our raft accurately.
I don't personally think boats or too slow or too fragile (i've crashed my last boat like 10 times atleast before it eventually broke, and i always carry backups when i'm out sailing the ocean). Small size helps to keep me from crashing my boat all day long.
I don't really know why you would need a large boat, other than to make a steer-able base since you seem to want to be able to build on it. Building on a raft, in and of itself, seems like there would be some issues besides visibility (thinking more-so on the code-side myself). However, a seat 'block' would remove the whole visibility issue. Make your raft, drop it in the water, build it up to how you want and plop your seat block where you want to steer from. As long as the seat block is connected to the raft directly or indirectly, it will control that raft, and right-clicking any block that is attached to the raft would put you in the seat. Could also sail in 3rd person.
I'm neither for or against this, but that is how I would personally tackle the issue.