I think the shift from TCP to UDP, with libraries providing any desired TCP-like semantics on both ends, instead of baking them into the protocol, seems like the way to go these days. Historically, game netcode often did this anyway to improve performance.
Hopefully this results in a reduction of “meddlesome middleboxes”, and helps prevent future ossification the article speaks about. It seems a bit unfortunate that IP isn’t the layer this is happening at, but so many networks filter any non TCP/UDP IP packets these days (aside from a few VPN specific ones), that building future protocols atop UDP seems to me to make the most sense. Otherwise something like SCTP or DCCP might have been preferable.