ed in scripts is rather rare (though not unknown), that's not what it's for. sed is almost as old as ed anyway.

vi is a nightmare for someone who has used only GUI editors, and as for an emacs enthusiast's opinion of it...

There is no way for Fossil to make the right choice, so it makes the traditional default choice. Set EDITOR in your .profile or whatever, and programs other than Fossil will use it too.