How can I multiply (double) my input frequency without distorting my waveform?
I presume that you want the converted signal in the same time as the original. That means that you will have to output every period twice at the higher frequency.
Example: suppose the original signal is 100Hz, then you have 1 period in 10ms. Doubling to 200Hz will give you one period in 5ms, so you'll have to output that twice in succession to fill the original 10ms.
This is easy if you do it digitally: convert to digital using an ADC, store samples in an buffer array, and read every other sample (for instance only the even samples) at the same rate and output that to a DAC, and do this twice per period of the signal. The buffer is needed because reading you go through the data twice as fast as writing; if you don't have the buffer you would need to read data in the future.
The problem is determining the period. The signal should have a well-defined repetition rate to find the period over which you'll sample. You'll need a DSP to do this.  

edit
From Olin's comment I guess I didn't make it clear that you have to adapt the buffer length to the current frequency. That's why you need the DSP to detect the frequency. This remains awkward business anyway if your signal isn't very repetitive, i.e. periods of a certain frequency occur only during one period.