Ok, let's be clear about this.
When you summon
Blade Knight, you have to declare that you want to use
Cannon Soldier's effect at that time. Likewise your opponent should also ask if you want to activate an effect first. If you decide to use
Cannon Soldier's effect at that time,
Blade Knight is tributed and in the Graveyard. If you decide to pass, your opponent can then
Bottomless Trap Hole your
Blade Knight. At that point it is too late to change your mind and use
Cannon Soldier's effect. The key though is that your opponent must give you the chance to activate the effect first or pass. If he jumps the gun, you can call a replay of sorts since you didn't have that chance.
I'm spelling it out that way because in NO WAY can you just say "In reponse to your BTH, I use
Cannon Soldier's effect." It ends up looking that way because of poor and sloppy play but the proper procedure is what I detailed above.