For my monitor (a Dell Ultrasharp 17), I use the Monaco Optix XR colorimeter with the Monaco software (EZColor, IIRC). It was about $200. I don’t know if it is the best, but anything is better than nothing. I know people who as happy with the Colorvision Spyder as I am with the Optix XR.
I profile my scanner with targets supplied by Wolf Faust and the iPhoto profile generator (see http://www.coloraide.de for both those).
I don’t do my own prints so I don’t know much about profiling printers, except that is seems complicated (every ink, paper combo is a new profile). I do use a lab that provide their profiles online.