I personally never had problems with Arc<RwLock<T>>. The docs appear really clear about in what situations precisely it can be unsafe (if T is not Send+Sync): https://doc.rust-lang.org/std/sync/struct.Arc.html
Am i missing something?
Disclaimer: i'm not a good programmer, nor a low-level programmer; i use Rust as a faster/safer python-like high-level scripting language
Arc<> does exist though, and is used quite extensively in the rust ecosystem.