Apple - Save screenshot with custom name
Changing the prefix part of the names
defaults write com.apple.screencapture name "My Screenshot"
killall SystemUIServer
Changing the format of the names
f=/System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj/ScreenCapture.strings
f2=~/Desktop/ScreenCapture.strings
sudo cp $f $f2
sudo chown $USER $f2
plutil -convert xml1 $f2
open $f2 -a TextEdit
Change
<key>%@ %@ at %@</key>
<string>%@ %@ at %@</string>
To something like
<key>%@ %@ at %@</key>
<string>My %@ %@ at %@</string>
(The default format is currently something like Screen Shot 2012-06-12 at 8.02.40 AM
depending on the locale settings.)
sudo chown root $f2
sudo cp $f2 $f
killall SystemUIServer
Changing the default location
defaults write com.apple.screencapture location ~/Pictures/
killall SystemUIServer
Using custom scripts
I've disabled the default shortcuts and have assigned shortcuts to scripts like screencapture -i ~/Desktop/`date '+%y%m%d%H%M%S'`.png
.
Skitch lets you do this, as well as online sharing, annotation, and drawing, and it's free.