If you book the hotel directly, they should be able to do the visa invitation for you. If you go this route, it is certainly possible to do the visa yourself at the consulate, but it will be much easier to just get a visa agency to deal with this hassle. The online companies you found that will do the invitation and the processing are a good way to go. There are plenty of reputable places, so don't worry too much about the security issue. Academservice is one place that has been around for a long time (in Russian terms at least!) Their website
http://www.tourintel.ru/ has a very good list of hotels all over Russia, too.
The Hotel Astoria is a very good choice, and in your price range. The rooms are on the small side but nicely refurbished, and the hotel is both historical and very well located for tourist visits. Try going through an Internet hotel discounter to get a room rate for them--I have seen some very good prices on rooms that would cost double or triple if you booked through a standard travel agency.