But, with manually configured IP addresses, it is trivially easy
to have a rule to assign lower part of IP addresses within a subnet
for hosts and upper part for routers, which is enough to troubleshoot
most network failures.
99% if not 100% of our subnets have either only routers or only hosts + a gateway. So that would be a strange rule to follow. Also very expensive if we are talking public addressing.
I find that 10.x.y.z is not much if you want to have a system in your subnet numbering. With ipv6 there is much more space to enable systematic numbering schemes.