To confirm, which splash screen is it getting stuck on - the Windows 7 splash screen, or the BIOS splash screen?
If it's the BIOS splash screen, it's not a software issue and the most likely cause is that it's struggling to detect a drive. Try unplugging any additional SATA drives like a storage HDD or your DVD drive, or try a different SATA cable, see if that makes any difference. Also, make sure your SSD is on the latest firmware.
If it's hanging on the Windows 7 splash screen, try starting in safe mode - I know it's a bit awkward because you don't know exactly when this is going to happen, but try it when you think it would usually get stuck. Alternatively, try enabling "OS Boot Information" in msconfig by going to start - run - type msconfig and press enter - go to the Boot tab - tick "OS Boot Information" and "Make all boot settings permanent". This will show info about the drivers etc being loaded during startup, if you can see that it's hanging at the same point each time then this would help narrow down where the issue lies.