My own radical ideas would be:
1. Change the order of the header fields to have the destination first, then the source;
2. Make the behavior on too large packets be "truncate but still forward" (setting a flag saying this was done), instead of fragmenting or dropping with an ICMP message.
e.g change TCP to $YOLO PROTOCOL, get rid of OSI for something different