Engine Calculation program
I usually look at the manufacturers recommended range of engines, the weight of the plane, how I intend to fly it and then add a bit more than I think it'll take. My newest plane is a 40 size Ultimate bipe that will be powered by a Saito 72. This engine is just a bit larger than the recommended range.
Seems like I usually end up about 1 engine size bigger than what is suggested.
I would never suggest going smaller than the largest recommended engine though.