depends what you want out of it.
If you want a quick car, that you can do some track time in on the weekends, go for b16a2 or b18c1.
If you just want to drive it on the street and drag race sometimes, go h22, but it is a more involved swap, and more expensive.
Ive got a b16a2 in my 00 hatch, and it moves along really good, it'll stay with any gsr and beats civic si's, and the motor's pretty stock
The easiest swap is the b16, took me less than one day, wiring changes included.
The only things to watch out for are -
IAC valve has to be changed to the linear type that comes on all b engines.
Get the shift linkage with the motor combo.
Get the rear mount bracket out of a 99 si.
crank sensor has to be changed from 3 to 2 wire (color match).
If you're made of money - B18c jdm type r