Sarcastic answers aside, the lag comes from the fact that multiple data points are collected, then averaged over some time period. For example, if you use a 14 period setting on stochastics, there will be 14 closing prices all added together then divideded by 14 to give you an average price. So, this average will usually not be the current price and will almost always lag the current price.
If you set your indicator time period to 1, it won't lag, but will simply give you the current price. With this approach, you can dispense with the indicator altogether and just use price.