Yes, rcS generally is just a stub to call "rc S", but not in all configurations, which is why inittab isn't: "si::sysinit:/etc/init.d/rc S"
Startup order dependency was "fixed" (for various definitions) by update-rc.d and language in the initscript header, like a thousand years ago. It's not perfect, but it does work. And for servers, a 100% predictable, repeatable, deterministic boot sequence trumps the 1.28s speed boost from the likes of upstart and systemd. For desktops, speed and flexibility are important, but troubleshooting a "random" boot order is a pain in the ass. (even moreso when upstart/systemd is eating all console output "for logging purposes")