To test if the browser can do image substiution, just use if (images) { //yes we can use the images}
To see if it supports shockwave, start with if (plugins) and work yourself down to shockwave (see Netscapes site for details)
INHO, make sure your pages degrades gracefully on all platforms (within reason, but my pages ARE lynx friendly)