Randomize the speed of a projectile.

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShipPlayerController : MonoBehaviour
{

public Projectile Bullet;

public Camera CameraObject;

public float FireRate = 0.5f;

public float MoveSpeed = 10.0f;

public float SpeedBoost = 20.0f;

private float FireTimer = 0.0f;

public float TotalAmount = 48.0f;

public float AmountPerSecond = 12.0f;

public float Current = 0f;

public float BaseSpeed = 6.0f;

private float maxSpeed;

private float minSpeed;

private Vector3 movement = Vector3.zero;


void Start()
{

}

void Update()
{
    if (Input.GetKeyDown(KeyCode.T))
    {
        MoveSpeed = MoveSpeed + SpeedBoost;
       
    }

    else if (Input.GetKeyUp(KeyCode.T))

    {

        MoveSpeed = SpeedBoost;
       
    }

   

    else

     UpdatePosition();
     UpdateFiring();

}

    void UpdatePosition()
     {

    movement.x = Input.GetAxis("Horizontal") * Time.deltaTime * MoveSpeed;
    movement.y = Input.GetAxis("Vertical") * Time.deltaTime * MoveSpeed;

    gameObject.transform.Translate(movement);

    Vector3 screenPosition = CameraObject.WorldToScreenPoint(
        gameObject.transform.position);

    if (screenPosition.y > Screen.height)
    {

        screenPosition.y = Screen.height;

        gameObject.transform.position =
            CameraObject.ScreenToWorldPoint(screenPosition);
    }

    else if (screenPosition.y < 0)
    {

        screenPosition.y = 0;

        gameObject.transform.position =
            CameraObject.ScreenToWorldPoint(screenPosition);
    }

    if (Input.GetKey(KeyCode.T))
    {
        if (Current <= 0)
        {
            MoveSpeed = BaseSpeed;
            Current = 0;
        }
        else
        {
            MoveSpeed = SpeedBoost + BaseSpeed;
            Current -= Time.deltaTime * AmountPerSecond;
        }
    }
    else
    {
        if (Current >= TotalAmount)
        {
            Current = TotalAmount;

        }

        else
        {
            Current += Time.deltaTime * AmountPerSecond;
        }
    }

}

void UpdateFiring()
{

    FireTimer += Time.deltaTime;

    if (Input.GetButton("Fire1"))
    {

        if (FireTimer > FireRate)
        {

            FireTimer = 0;

            DoWeaponFire();

        }
    }
}

void DoWeaponFire()
{
Rigidbody clone;

  clone = Instantiate(Bullet, transform.position, Bullet.rotation) as Rigidbody;
    float speed = System.Random.Range(minSpeed, maxSpeed); 
    clone.velocity = transform.forward * speed;
    clone.transform.parent = transform;  
}

private Rigidbody Instantiate(Projectile bullet, Vector3 position, object rotation)
{
    throw new NotImplementedException();
}

}

Since you’re already giving a velocity from your shipplayercontroller, in the function DoWeaponFire you will want to randomize the speed value.
To do this you can use Random.Value, which gives a value between 0.0 and 1.0, you could scale this ofcourse for other values.

I have not tested this, so i hope this works for you.