Excellent write up. Especially the part about SQLite PRAGMAs is very helpful (my web application is also SQLite-based). Thanks for sharing your experience.
You can really help things a lot with the PRAGMAs, and if that doesn't work, you can use something like an async DB write queue pattern to deal with the simultaneous write limitations (and also by doing more stuff with transactions and bulk insertions).