No WM at all is less nice, but can work. A bit over a decade ago, we shipped a kiosk/appliance that software-wise only had kernel, X, and firefox. All starting directly from /etc/inittab, something like this:
...where /etc/rc-∗ are few lines of shell that set up environment variables, and end with "exec chroot --userspec=... / /bin/firefox ..." - this way X and firefox run under same PIDs that sysvinit knows about, so they get restarted after a crash.