You can change your DNS now and it will have an impact, most definitely. However, if you are storing information server-side (I don't mean session state stuff, I mean taking orders, user input, content whatever...) then this might not be practical.
It takes a full 24 hours for propagation to occur, but if you've got a static-ish site, you can definitely change now and if you are a small to medium site expecting a large traffic spike then the majority of users will be redirected to the new site.
What else you can do depends on your situation. If you are allowing users to login, post to forums, take input etc. then you're going to have a bit of trouble. You can do stuff on the application side, but it's a lot of work, probably not much you can do in a couple of hours. Again, we need more information here to be specific.
However, if you have relatively static content. Like for example, if you were posted up on slashdot then you can have a look at overriding some of the dynamically generated pages with static pages.
- grab the full HTML of the page from your browser
- copy and paste it into a file
- re-upload it back to your webserver
- use mod_rewrite in a .htaccess file to serve that file for any requests to the original URL
You need to be far more specific with what you're running on the site to give any more specific information. In general, you would be recommended running a caching proxy, but that presumably isn't possible on a shared server.