Aklıma gelen en mantıklı yol subdomainde (img.siteadi.com gibi) depolanması yönünde. Eğer çalıştırılabilir bir dosya yüklenirse en fazla subdomain'i etkiler, main domain sadece dosyayı html kısmında döküp göstereceği için çok sorun yaratmayacaktır.
Ama veritabanı kımına gelecek olursak hala risk var, bu yüzden görselleri başka bir kullanıcı adı ve şifresi ile bilikte başka bir veritabanında saklanması uygun olur. Main domain sorgularını yaparken iki vt kullanacak, binlerce ziyaretçin yoksa performans farkını pek hisssetmezsin.
Son olarak görsel ne amaçla yükleniyor bilmiyorum ama içeriğini yeniden şekillendirmek bir çözüm olabilir. Örneğin profil resimleri için mutlaka sunucu tarafından kırpılması gerek ya da normal resimler için de uygun olan bir şekilde en ve boydan 1 piksellik kısmı atıp yeni bir formatta kaydedersin.
.htaccess sihirli bir değnek gibi resmen, sadece belirli dosyaların çalışmasını sağlayabilirsin. Eğer root yetkisine de sahipsen subdomain için bir kullanıcı oluşturup yetkilerini sınırlandırabilirsin. Bir kod/komut çalıştırılsa da en azından dosyaları komple silemez.