Fortunately, I found a way to change that in Weechat and so have switched over to it exclusively. Here's how:
Install the buffers.pl plugin.The buffers plugin lets you configure how the various buffers are displayed.
/script install buffers.pl
Tell buffers.pl to show the IRC network name.By default buffers.pl only shows the channel name (#name). To group channels together, you need to enable showing the fullly qualified channel name (network#name):
/set buffers.look.short_names off
Sort channels by name and not numbers.
This groups the channels together by their server name. Otherwise they're grouped by the order in which they were opened. So if you open a channel in Freenode, say, after opening one in OFTC then the channel in Freenode will fall after OFTC and not get put with the other Freenode channels.
/set buffers.look.sort name
That's it! Now your channels are grouped together by network.