There is also no point to limit the gate voltage with respect to the gnd, what you want it to limit the gate voltage with respect to the source.
If you want to limit the gate voltage with reference to the gnd then you can simply use two resistors instead of one in the collector of the BC547, for example 500+1500 ohm to get 3/4 of the voltage , you get the point.
The problem using that way is that you will get a lower Vgs , if you provide 15v then when the mosfet turns on it will just remain 15v(G)-12v(S)=3v.
I'm afraid I can't think of a solution for this, this is one problem that the bootstrapping method (connected to the source) didn't have.
EDIT: that resistor divider in the collector can only limit the lower part of the voltage not the high, so with 3/4 you will get 5-20v not 0-15.
Alex
---------- Post added at 17:54 ---------- Previous post was at 17:51 ----------
You want the gate resistor to be low (10 ohm or lower) so increasing it is not the solution, you went to all this trouble to create a proper driver that can provide the needed current just to use a high value gate resistor, no way.
If you use 100 ohm you will limit the gate current of the switching will slow down, you don't want that because the mosfet losses will increase.
Alex